[
  {
    "model_name": "ChatGPT-4o (OR)",
    "model_id": "or_chatgpt_4o_latest",
    "date": "2026-02-22T15:39:35.876180",
    "shots": 2,
    "config": {
      "model_id": "or_chatgpt_4o_latest",
      "display_name": "ChatGPT-4o (OR)",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-07",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "ChatGPT-4o (OR)",
    "annotation_date": "2025-04-07T19:52:29.249238",
    "file_results": [
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:28.536350",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T19:52:29.249238",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the identical transformation from \"howling over\" to \"howling, over,\" inserting a comma after \"howling.\" This captures the core intended change with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"yonder to-day\" and the same correction \"yonder, to-day\", inserting a comma after \"yonder\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir",
            "corrected_text": "sir?",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:32.240177",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:10:13.294512",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"howling over\" to \"howling, over\", inserting a comma after \"howling\". The core punctuation correction is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2. Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), inserting a comma after \"yonder\". This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir",
            "corrected_text": "sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:32.097546",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T23:06:29.831306",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the core intended change\u2014adding a comma after \"howling\". There are no discrepancies in the essential edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both identify the same original text (\"yonder to-day\") and apply the same correction by inserting a comma after \"yonder\" to produce \"yonder, to-day.\" The core change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir",
            "corrected_text": "sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:32.632963",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T19:53:29.350066",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 27,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word in the phrase \"why did he dine\" \u2192 \"Why did he dine\" (i.e., change \"why\" to \"Why\"). The prediction captures this core change directly by specifying \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it accurately reflects the essential capitalization correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\u201d",
            "corrected_text": "stones?\u201d",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:28.762796",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:11:02.947351",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the first word of the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction captures the same core change by capitalizing \"why\" \u2192 \"Why\". Although it includes less surrounding context, it correctly represents the essential intended edit (capitalizing the initial word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\u201d",
            "corrected_text": "stones?\u201d",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:33.185073",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T23:07:28.755108",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "why did",
            "corrected_text": "Why did",
            "observed_line_number": 27,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial \"why\" in the phrase \"why did he dine\" \u2192 \"Why did he dine.\" The prediction applies the same core capitalization change to the beginning of the phrase (\"why did\" \u2192 \"Why did\"). Although it includes less surrounding context (omits \"he dine\"), it still captures the essential intended change: lowercase \"why\" to capital \"Why\" at the start of the sentence/phrase."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\u201d",
            "corrected_text": "stones?\u201d",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:35.300032",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T19:54:33.955569",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 35,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" to become \"If he.\" The prediction capitalizes \"if\" to \"If.\" Although the prediction includes less surrounding context (it omits \"he\"), it captures the same core change: changing the lowercase \"if\" to uppercase \"If.\" This matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth replaces the word \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The predicted edit captures the core intended change by replacing \"said\" \u2192 \"asked\". Although it omits the surrounding context (\"Clennam\"), it still represents the essential correction identified in the ground truth."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:52.561262",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:12:01.481859",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 35,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction captures the core intended change by capitalizing \"if\" \u2192 \"If\". Although it includes less surrounding context (omits \"he\"), it still represents the same essential correction: changing the lowercase initial \"if\" to capitalized \"If\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction are a \"replacement\" edit, so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The predicted edit captures the core intended change by replacing \"said\" with \"asked\". Although it omits the surrounding context word \"Clennam\", the essential correction (said \u2192 asked) is correctly identified, which satisfies the content criterion."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:58.310624",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T23:08:18.212404",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 33,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same essential change by capitalizing \"if\" \u2192 \"If\". Although the prediction includes less surrounding context (it omits \"he\"), it correctly represents the core intended correction: changing the lowercase \"i\" in \"if\" to uppercase."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the predicted edit are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core intended change by replacing \"said\" with \"asked\". Although it omits the surrounding context (\"Clennam\"), that additional context is not required as long as the essential substitution is correctly identified. Therefore, the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:57.695692",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T19:55:25.093056",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"about and\") and the same corrected_text (\"about, and\"), capturing the core change of inserting a comma after \"about\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after \"said\" (\"said\" \u2192 \"said,\"). This captures the essential correction exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core correction: inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The essential punctuation change is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:59.992485",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:12:46.895163",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"about and\") and the same corrected text (\"about, and\"), capturing the identical core change of inserting a comma after \"about.\" Line numbers are to be ignored, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when\". The prediction captures the same core punctuation change by editing \"said\" \u2192 \"said,\". Although it omits the following word \"when\" from the span, it still reflects the essential intended correction: adding a comma immediately after \"said\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change: inserting a comma after \"Clennam\". Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:59.606593",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T23:09:20.072201",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change \"about and\" to \"about, and\" by inserting a comma after \"about\". The core punctuation correction is identical. Line number differences are to be ignored, so the prediction captures the same intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when\". The predicted edit \"said\" \u2192 \"said,\" captures the same core punctuation insertion (a comma immediately after \"said\"). Although the prediction includes less surrounding context (it omits \"when\"), it still represents the essential intended change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 28,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The original and corrected text strings match the ground truth\u2019s intention exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:37:59.823095",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T19:56:16.618231",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the edit as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates that the phrase should end with a period (\"Sun and Shadow\" \u2192 \"Sun and Shadow.\"). The prediction also results in the same corrected form ending with a period (\"Sun and Shadow,\" \u2192 \"Sun and Shadow.\"). Although the predicted original_text includes a comma that is not present in the ground truth original_text, the core intended correction\u2014ensuring the title ends with a period\u2014is accurately captured."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:06.260232",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:13:32.142566",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:05.352935",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T23:10:04.794978",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to make the title end with a period (\"Sun and Shadow\" \u2192 \"Sun and Shadow.\"). The prediction also results in the same corrected text ending with a period (\"Sun and Shadow,\" \u2192 \"Sun and Shadow.\"). Although the predicted original text includes a comma that is not present in the ground truth original, the core intended correction\u2014ensuring the phrase ends with a period\u2014is correctly captured."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:23.414022",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T19:57:58.836034",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone.",
            "corrected_text": "Saone. The",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Saone it",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "man, slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:40.036022",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:14:26.737061",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Saone it",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "soddenwith",
            "corrected_text": "soddened with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:41.430566",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T23:11:01.530582",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "soddenwith",
            "corrected_text": "soddened with",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are labeled as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth\u2019s core intended change is to replace \"sodden\" with \"soddened\" (i.e., add \"-ed\"). The prediction performs that same core change within a slightly larger span: it changes \"soddenwith\" to \"soddened with.\" Although the prediction also introduces a space before \"with\" and includes \"with\" in the replacement span, it still captures the essential correction from \"sodden\" \u2192 \"soddened,\" which is the ground truth\u2019s intention. Additional surrounding context is allowed, so this is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone.",
            "corrected_text": "Saone. The",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "trees",
            "corrected_text": "-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Saone it",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:26.865102",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:15:23.114331",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "said Clennam,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Oh! I have very much to ask of you.",
            "corrected_text": "That's well! I hoped so; I am not disappointed.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:26.649510",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T23:12:02.754305",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "thanked him",
            "corrected_text": "thanked Mr. Clennam",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam",
            "corrected_text": "said Clennam,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:26.262375",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:16:10.278372",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and\". The prediction also inserts a comma after \"hers\" (\"hers\" \u2192 \"hers,\"). Although it does not include the following word \"and,\" it captures the core intended punctuation change (adding the comma after \"hers\"). Therefore, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that papa had abandoned",
            "corrected_text": "That papa had abandoned",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "that",
            "corrected_text": "That",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:38.232182",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T23:12:59.253934",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after the word \"hers\" in the phrase \"hers and\" (i.e., \"hers and\" \u2192 \"hers, and\"). The predicted edit \"hers\" \u2192 \"hers,\" captures the same core punctuation insertion (adding a comma immediately after \"hers\"). Although the prediction omits the following word \"and\" from the original/corrected snippets, the essential intended correction\u2014comma insertion after \"hers\"\u2014is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"moment\" (\"moment with\" \u2192 \"moment, with\"). The prediction also inserts a comma after \"moment\" (\"moment\" \u2192 \"moment,\"). Although the prediction uses a shorter text span (it omits the following word \"with\"), it captures the essential intended edit: adding a comma immediately after \"moment.\" \u0644\u0630\u0644\u0643 the core change is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 23,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are labeled as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"beautiful\" in the phrase \"beautiful that\" (i.e., \"beautiful that\" \u2192 \"beautiful, that\"). The predicted edit captures the same core punctuation change by converting \"beautiful\" \u2192 \"beautiful,\". Although it omits the following word \"that\", it still correctly represents the essential intended correction: adding a comma immediately after \"beautiful\"."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that papa had abandoned",
            "corrected_text": "That papa had abandoned",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "that",
            "corrected_text": "That",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly",
            "corrected_text": "directly,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:41.584870",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-08T05:35:28.497145",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and predicted edits are of type \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and\". The predicted edit \"hers\" \u2192 \"hers,\" captures the same core punctuation insertion (adding a comma immediately after \"hers\"). Although it does not include the following word \"and\" in its span, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"moment\" in the phrase \"moment with\" \u2192 \"moment, with.\" The prediction captures the same core punctuation change by editing \"moment\" \u2192 \"moment,\" (it simply omits the following word \"with\" as context). Since the essential intended change\u2014adding a comma immediately after \"moment\"\u2014is correctly represented, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 23,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction are labeled as \"punctuation\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after the word \"beautiful\" (\"beautiful that\" \u2192 \"beautiful, that\"). The predicted edit (\"beautiful\" \u2192 \"beautiful,\") captures the same core punctuation insertion at the same location, just with less surrounding context. This aligns with the ground truth's intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that papa had abandoned",
            "corrected_text": "That papa had abandoned",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "that",
            "corrected_text": "That",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:39.346560",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:16:54.208008",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "within-doors",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:55.334908",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T23:13:53.490568",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "within-doors",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:58.438322",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:17:46.240199",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same core change: \"city\" is corrected to \"City\". There is no mismatch in the original or corrected text, and the essential capitalization change is captured precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:39:35.876180",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-08T05:37:28.019018",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change the same word from \"city\" to \"City\". This captures the identical core correction (capitalizing the first letter) with no discrepancy in original or corrected text.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction adds a comma after \"existence\" within a slightly longer context (\"existence at\" \u2192 \"existence, at\"). This captures the same essential punctuation insertion at the same target word, merely including extra surrounding text. Therefore, the core intended edit is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change, inserting a comma immediately after \"motionless\" in the phrase \"motionless when\" (\"motionless when\" \u2192 \"motionless, when\"). The additional context word \"when\" does not alter the essential edit. Therefore, the prediction captures the intended punctuation correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 14,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma immediately after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change\u2014adding a comma after \"view\"\u2014while including extra surrounding context (\"view by\" \u2192 \"view, by\"). This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:55.866758",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:18:36.035799",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "snorts",
            "corrected_text": "snorts.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:39:02.521511",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T23:15:36.604608",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "snorts",
            "corrected_text": ".",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:39:03.100398",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-08T05:38:19.301501",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "snorts",
            "corrected_text": "snorts.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:38:57.760531",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T22:19:20.710847",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me; not",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:39:05.732908",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-07T23:16:37.161218",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me; not",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_chatgpt_4o_latest",
        "date": "2026-02-22T15:39:04.014580",
        "annotator": "ChatGPT-4o (OR)",
        "annotation_date": "2025-04-08T05:39:09.525327",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me, not",
            "corrected_text": "me, ^not",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bed room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2024-05-13",
    "release_source": "https://openai.com/index/gpt-4o-and-more-tools-to-chatgpt-free/",
    "release_notes": "Rolling alias; using the initial public GPT-4o launch date for ChatGPT."
  },
  {
    "model_name": "Claude Fable 5",
    "model_id": "claude-fable-5",
    "date": "2026-07-23T15:16:05.088580",
    "shots": 2,
    "config": {
      "model_id": "claude-fable-5",
      "display_name": "Claude Fable 5",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Claude Fable 5",
    "annotation_date": "2026-07-23T11:13:07.890300",
    "file_results": [
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:18.626108",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:13:07.890300",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both apply the same core change\u2014adding a period to the end of \"Fellow Travellers\" to make it \"Fellow Travellers.\" The original and corrected texts match the ground truth intention exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the core intended change\u2014adding a comma after \"howling\". No discrepancies are present.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same correction (\"yonder, to-day\"), inserting a comma after \"yonder\". The core punctuation change is captured identically.\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction specify the same change from \"Sir\" to \"sir,\" capturing the identical core correction (lowercasing the word). Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The predicted change matches the ground truth precisely, inserting a comma after \"pockets\" to change \"pockets and\" to \"pockets, and.\" This captures the core intended correction with identical original and corrected text."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:13.165209",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:24:55.465063",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have the type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: adding a period at the end of \"Fellow Travellers\" to make it \"Fellow Travellers.\". The original and corrected texts match the ground truth\u2019s intended punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same correction (inserting a comma: \"yonder, to-day\"). The core change\u2014adding a comma after \"yonder\"\u2014is captured identically."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"Sir\" to \"sir\", capturing the identical core change (lowercasing the word). No mismatch in original or corrected text content."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:13.713085",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:24:50.088150",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core intended punctuation change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core punctuation insertion (adding a comma after \"howling\"). Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both apply the same core change: inserting a comma after \"yonder\" in the phrase \"yonder to-day\" to make it \"yonder, to-day\". The original and corrected texts are identical between ground truth and prediction, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "to-day, Sir",
            "corrected_text": "to-day, sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit changes \"Sir\" to \"sir\". The predicted edit changes \"to-day, Sir\" to \"to-day, sir,\" which includes extra surrounding context but preserves the same core correction: lowercasing \"Sir\" to \"sir.\" Therefore, the essential intended change is correctly captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:13.857922",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:12:59.509714",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"No sir\" to \"No, sir\" by inserting a comma after \"No.\" This captures the same core punctuation correction with identical original and corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"why did he dine",
            "corrected_text": "\"Why did he dine",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial word from \"why\" to \"Why\" in the phrase \"why did he dine\". The prediction applies the same core capitalization change (\"why\" \u2192 \"Why\") while including an extra leading quotation mark as additional context in both the original and corrected text. Since the essential intended change (capitalizing the initial 'w' in 'why') is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!\"",
            "corrected_text": "cold stones?\"",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction captures the same core change (! \u2192 ?) and merely includes an additional trailing quote character in both the original and corrected strings (\"cold stones!\\\"\" \u2192 \"cold stones?\\\"\"). This added context does not alter the essential edit, so the intended correction is correctly represented."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:15.282018",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:25:03.699117",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"No sir\" to \"No, sir\" (inserting a comma after \"No\"), which captures the exact core change intended."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\u201cwhy did he dine",
            "corrected_text": "\u201cWhy did he dine",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial \"w\" in \"why did he dine\" to \"Why did he dine.\" The prediction performs the same core change (\"why\" \u2192 \"Why\") while including an opening quotation mark as additional surrounding context (\"\u201cwhy did he dine\" \u2192 \"\u201cWhy did he dine\"). The quotation mark is unchanged and does not alter the essential intended correction.\n\nTherefore, both the edit type and the core textual change match the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the cold stones!\u201d",
            "corrected_text": "the cold stones?\u201d",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction performs the same core change (\"...stones!\" \u2192 \"...stones?\") while including additional surrounding context (\"the\" before the phrase and a closing quotation mark). This extra context does not alter the essential intent of the correction, which is the !\u2192? change.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:21.435218",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:24:51.628705",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"No sir",
            "corrected_text": "\"No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"No\" in \"No sir\" \u2192 \"No, sir.\" The prediction applies the same core punctuation change, but includes an additional leading quotation mark as extra context: \"No sir \u2192 \"No, sir. This still captures the essential intended correction (adding the comma after \"No\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"why did he dine",
            "corrected_text": "\"Why did he dine",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization\", which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial word from \"why\" to \"Why\". The prediction applies the same core change (\"why\" \u2192 \"Why\") while including an additional leading quotation mark in both the original and corrected strings (\"\\\"why did he dine\" \u2192 \"\\\"Why did he dine\"). This added context does not alter the essential intended edit, which is capitalizing the first word.\n\nTherefore, the prediction correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the cold stones!\"",
            "corrected_text": "the cold stones?\"",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation at the end of the phrase from an exclamation point to a question mark (\"cold stones!\" \u2192 \"cold stones?\"). The prediction applies the same core change (\"...stones!\" \u2192 \"...stones?\") while including additional surrounding context (the preceding word \"the\" and a trailing quotation mark). This added context does not alter the essential correction, and the intended punctuation change is captured correctly."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:11.093100",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:13:02.312553",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"if he\" to \"If he\", capturing the identical core correction (capitalizing the initial 'i'). No discrepancy in original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both indicate replacing \"said Clennam\" with \"asked Clennam\". The original and corrected text are identical between ground truth and prediction, so the core change is correctly captured."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:13.860802",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:24:57.178355",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "do? if he",
            "corrected_text": "do? If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n2) Text Content Accuracy: The ground truth change is capitalizing \"if\" to \"If\" in the phrase \"if he\" \u2192 \"If he.\" The prediction includes extra surrounding context (\"do?\"), but it performs the same core change: \"do? if he\" \u2192 \"do? If he.\" This correctly captures the intended capitalization correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\", and the predicted edit type is also \"replacement\", so the type matches exactly.\n\nText Content Accuracy: Both edits replace the exact same original text (\"said Clennam\") with the exact same corrected text (\"asked Clennam\"). The core intended change is identical in the prediction and the ground truth.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:18.467589",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:24:53.194478",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "do? if he",
            "corrected_text": "do? If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he\" (capitalizing the initial 'i'). The prediction changes \"do? if he\" to \"do? If he,\" which includes additional surrounding context but preserves the same core correction\u2014capitalizing \"if\" to \"If\". Therefore, it captures the essential intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify the same original phrase (\"said Clennam\") and the same corrected phrase (\"asked Clennam\"). The essential change from \"said\" to \"asked\" is captured identically, with no discrepancies.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:54.878572",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:12:59.694252",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "broad high road paved",
            "corrected_text": "broad high-road paved",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is converting \"high road\" to \"high-road\" (inserting a hyphen between \"high\" and \"road\"). The predicted edit applies the same core change within a longer phrase: \"broad high road paved\" \u2192 \"broad high-road paved.\" Including extra surrounding context is acceptable, and the essential modification (adding the hyphen) is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"materials\" so that \"materials costing\" becomes \"materials, costing.\" The core punctuation correction is identical with no deviation."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "tossed about and came",
            "corrected_text": "tossed about, and came",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"about\" (\"about and\" \u2192 \"about, and\"). The predicted edit also inserts a comma after \"about\" in the phrase \"tossed about and came\" \u2192 \"tossed about, and came\". Although the prediction includes additional surrounding words, it captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the types match exactly.\n\n2) Text Content Accuracy: Both edits change the phrase from \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". The original and corrected texts match the ground truth\u2019s core intended change exactly.\n\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The prediction applies the same core punctuation change (inserting a comma after \"said\") but includes additional surrounding context (\"always\" before the phrase): \"always said when\" \u2192 \"always said, when.\" This preserves the essential intended correction.\n\nTherefore, both the edit type and the core text change match the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction adds the same comma after \"said\" but includes extra surrounding context (\"and said\" \u2192 \"and said,\"). This still captures the core intended punctuation edit (inserting a comma immediately after \"said\")."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in\". The prediction applies the same core punctuation change in a longer snippet: \"Clennam in amazement\" \u2192 \"Clennam, in amazement\". This includes additional surrounding context but preserves the essential intended edit (adding a comma after \"Clennam\" before \"in\").\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did not",
            "corrected_text": "association, did not",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:52.620846",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:24:58.606254",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road\", capturing the identical core change (inserting a hyphen). Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change of inserting a comma after \"materials.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and came to no haven",
            "corrected_text": "about, and came to no haven",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"about\" in the phrase \"about and\" (i.e., \"about and\" \u2192 \"about, and\"). The predicted edit applies the same core punctuation change\u2014adding a comma after \"about\"\u2014but includes additional surrounding context (\"came to no haven\"). Since the essential edit (inserting the comma between \"about\" and \"and\") is correctly captured, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"said\" and \"when\" (\"said when\" \u2192 \"said, when\"). The predicted edit performs the same core punctuation change in the same location, but includes extra surrounding context (\"always said when\" \u2192 \"always said, when\"). This still captures the essential intended correction (adding the comma after \"said\"), so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction adds a comma after the same target word but includes extra surrounding context (\"and said\" \u2192 \"and said,\"). This still captures the core intended punctuation change (comma insertion after \"said\")."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 32,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in.\" The prediction applies the same core punctuation change in a longer span: \"Clennam in amazement\" \u2192 \"Clennam, in amazement.\" Including additional surrounding words is acceptable, and the essential edit (comma insertion after \"Clennam\") matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did not mend",
            "corrected_text": "association, did not mend",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:13:10.350187",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:25:12.537238",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"high road\" to \"high-road,\" capturing the same core punctuation change (inserting a hyphen). No discrepancy in the original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the identical change from \"materials costing\" to \"materials, costing\", correctly inserting a comma after \"materials\". The predicted edit captures the same core punctuation correction as the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and came",
            "corrected_text": "about, and came",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"about\" (\"about and\" \u2192 \"about, and\"). The prediction also inserts a comma after \"about\" (\"about and came\" \u2192 \"about, and came\"). Although the prediction includes extra surrounding context (the additional word \"came\"), it preserves the same core punctuation change at the same location, matching the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association, did not",
            "corrected_text": "association did not",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change removes the comma after \u201cassociation\u201d (\"association, did\" \u2192 \"association did\"). The prediction applies the same core punctuation change\u2014removing the comma after \u201cassociation\u201d\u2014but includes extra surrounding context (\u201cdid not\u201d). Since the essential correction (comma deletion) is preserved and additional context is allowed, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\n2) Text Content Accuracy: The ground truth change inserts a comma between \"said\" and \"when\" (\"said when\" \u2192 \"said, when\"). The prediction performs the same core punctuation change, adding extra surrounding context (\"always said when\" \u2192 \"always said, when\"). The essential edit\u2014comma insertion after \"said\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The predicted edit adds a comma after \"said\" as well, but includes extra preceding context (\"and said\" \u2192 \"and said,\"). This preserves the core intended correction\u2014adding the comma after \"said\"\u2014and the additional context is acceptable under the evaluation criteria."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The prediction likewise inserts a comma after \"Clennam\" while including additional surrounding context (\"Clennam in amazement\" \u2192 \"Clennam, in amazement\"). This captures the same core punctuation correction intended by the ground truth."
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:37.315139",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:13:02.183808",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Sun and Shadow\" to make it \"Sun and Shadow.\" The prediction\u2019s extra note (\u201cPeriod here?\u201d) does not alter the edit itself and is consistent with the intended correction. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:34.820659",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:24:51.485824",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period. The predicted notes add extra context but do not alter the core correction. Therefore, the prediction captures the same essential punctuation edit as the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:43.928871",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:24:50.578900",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits use the type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The added notes in the prediction do not alter the core correction. Therefore, the predicted edit captures the same essential change as the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:12:59.133289",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:13:24.845311",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Let Loose\" to \"Let Loose.\" by adding a period at the end. The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth corrects \"Saone\" to \"Sa\u00f4ne\" (adding the circumflex). The predicted edit corrects \"river Saone\" to \"river Sa\u00f4ne\", which includes additional surrounding context but makes the same essential change to the word \"Saone\" \u2192 \"Sa\u00f4ne\". This accurately captures the core intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth corrects \"Saone\" to \"Sa\u00f4ne\" (adding the circumflex). The prediction changes \"river Saone\" to \"river Sa\u00f4ne,\" which includes extra surrounding context but preserves the same core correction to the word \"Saone.\" Therefore, the essential intended change is accurately captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma after \"man\" in \"man slowly\" \u2192 \"man, slowly.\" The prediction performs the same core punctuation change, but with additional preceding context: \"One man slowly\" \u2192 \"One man, slowly.\" This extra context does not alter the essential edit, and the intended comma insertion is correctly captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"Chalons\" in the phrase \"Chalons was\" to make \"Chalons, was\". The core punctuation change is identical. Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:13:00.489443",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:25:23.835379",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"Let Loose\" to \"Let Loose.\" (adding a period). The core punctuation correction is identical in original and corrected text. Therefore, the prediction correctly captures the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"dull autumn\" to \"dull, autumn\", inserting a comma after \"dull\". The core change is identical, with no discrepancies in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly.\" The prediction applies the same core punctuation change (adding a comma after \"man\") but includes extra surrounding context (\"One\" before it): \"One man slowly\" \u2192 \"One man, slowly.\" This captures the essential intended edit accurately."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both edits change \"Chalons was\" to \"Chalons, was,\" inserting a comma after \"Chalons.\" The core change and surrounding text match precisely, so the prediction captures the intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees against",
            "corrected_text": "poplar-trees, against",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with wet",
            "corrected_text": "soddened with wet",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:13:17.066368",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:24:57.201789",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Let Loose\" to \"Let Loose.\" by adding a period at the end. The core intended punctuation change is captured exactly with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "late, dull autumn",
            "corrected_text": "late, dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"dull\" and \"autumn\" (\"dull autumn\" \u2192 \"dull, autumn\"). The predicted edit, while including additional surrounding context (\"late, dull autumn\" \u2192 \"late, dull, autumn\"), performs the same essential change: it adds a comma after \"dull\" before \"autumn\". The extra context does not alter the core correction, so the prediction captures the intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"Saone\" to \"Sa\u00f4ne\" (adding the circumflex). The prediction changes \"river Saone\" to \"river Sa\u00f4ne\", which includes extra surrounding context but preserves the same essential correction on the target word. Therefore, it captures the core intended change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the type matches exactly. 2) Text Content Accuracy: The core intended change is adding the circumflex to \"Saone\" \u2192 \"Sa\u00f4ne\". The prediction applies the same change, but includes extra surrounding context (\"river \"). This still captures the essential correction on the target word, so the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The core intended change is inserting a comma after the word \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly.\" The prediction applies the same comma insertion, but includes extra surrounding context (\"One\"), i.e., \"One man slowly\" \u2192 \"One man, slowly.\" This preserves the essential edit and matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees against",
            "corrected_text": "poplar-trees, against",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:13:06.989215",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:13:14.396366",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same change, inserting a comma after \"heart\" to convert \"heart so\" into \"heart, so.\" The core intended correction is fully and exactly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she did",
            "corrected_text": "(as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"insertion\" and the predicted type is also \"insertion\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts the word \"indeed\" into the phrase \"as she did\" to make \"as indeed she did\". The prediction represents the same core insertion, simply including an extra preceding parenthesis as additional context: \"(as she did\" \u2192 \"(as indeed she did\". Since the essential modification (inserting \"indeed\") is correctly captured, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"length\" in the sequence \"length said\" \u2192 \"length, said.\" The prediction performs the same core change (inserting a comma after \"length\") but includes additional surrounding context (\"at\"). This added context does not alter the essential correction, and the intended punctuation insertion is accurately captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change from present to past tense. No discrepancies in the essential edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:13:09.185836",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:25:04.740827",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"heart\" in the phrase \"heart so\" to make \"heart, so.\" The original and corrected text match the ground truth intention with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she did",
            "corrected_text": "(as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"insertion\" and the predicted edit type is also \"insertion\", so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is inserting the word \"indeed\" into the phrase, changing \"as she did\" to \"as indeed she did\". The prediction captures the same core insertion, showing \"(as she did\" \u2192 \"(as indeed she did\". The added leading parenthesis is extra surrounding context included on both sides and does not alter the essential edit. Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The predicted edit performs the same core change, just with additional surrounding context (\"at length said\" \u2192 \"at length, said\"). The essential punctuation insertion is identical in intention and effect.\n\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change from present to past tense. No discrepancies in the essential content change."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:13:17.593458",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:24:59.796643",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change, inserting a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The core punctuation correction is identical. Therefore, the prediction correctly captures the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she did",
            "corrected_text": "(as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"as she did\" to \"as indeed she did\" (inserting \"indeed\"). The prediction changes \"(as she did\" to \"(as indeed she did,\" which includes an extra opening parenthesis as surrounding context but preserves the same core insertion of \"indeed\" in the correct location. Since added context is allowed and the essential change is captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"length\" (\"length said\" \u2192 \"length, said\"). The prediction applies the same punctuation change within a slightly larger context (\"at length said\" \u2192 \"at length, said\"). This preserves the core intended correction\u2014adding a comma after \"length\"\u2014and the added surrounding word \"at\" does not alter the essential edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change from present to past tense. No discrepancies in the essential edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:13:28.552555",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:13:45.996590",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change\u2014adding a comma after \"hers.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that\". The core intended punctuation correction is captured identically.\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they are to be married.\"",
            "corrected_text": "\"They are to be married.\"",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"capitalization\" and the predicted type is also \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is specifically lowercased \"they\" \u2192 capitalized \"They\". The prediction applies the same core change but includes additional surrounding context (the full quoted sentence). The essential correction\u2014capitalizing the initial \"they\" to \"They\"\u2014is correctly captured."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:13:31.936874",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:25:45.775095",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"hers and\" to \"hers, and\" by inserting a comma after \"hers\". The core punctuation change is identical, with matching original and corrected text. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"hers\" to convert \"hers matters\" into \"hers, matters.\" The core punctuation correction is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with,\" inserting a comma after \"moment.\" The core correction is identical, with no discrepancy in original or corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that\". The core punctuation correction is identical.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\u201cthey are to be married.\u201d",
            "corrected_text": "\u201cThey are to be married.\u201d",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so this matches exactly.\n\n2. Text Content Accuracy: The ground truth corrects the word \"they\" to \"They\". The prediction changes the quoted phrase from \u201cthey are to be married.\u201d to \u201cThey are to be married.\u201d, which includes the same core change (capitalizing the initial \"they\" to \"They\"). The additional surrounding context does not alter the essential correction, so the prediction captures the intended edit."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:13:39.078792",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:25:41.259454",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"hers and\" to \"hers, and\", inserting a comma after \"hers\". The core change is identical, with no discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters little",
            "corrected_text": "on hers, matters little",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction also inserts a comma after \"hers\" within a larger phrase (\"on hers matters little\" \u2192 \"on hers, matters little\"). Although the prediction includes additional surrounding words, it captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment with",
            "corrected_text": "for a moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n2. Text Content Accuracy: The ground truth inserts a comma after \"moment\" (\"moment with\" \u2192 \"moment, with\"). The prediction applies the same core change, adding a comma after \"moment\" within a larger phrase (\"for a moment with\" \u2192 \"for a moment, with\"). Including extra surrounding context does not alter the essential edit, so the intention is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so beautiful that",
            "corrected_text": "so beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"beautiful\" (\"beautiful that\" \u2192 \"beautiful, that\"). The prediction also inserts a comma after \"beautiful\" within a slightly larger phrase (\"so beautiful that\" \u2192 \"so beautiful, that\"). This added context does not change the core edit; the essential punctuation change is captured correctly."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\u201cthey are to be married.\u201d",
            "corrected_text": "\u201cThey are to be married.\u201d",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the word \"they\" to \"They\" (capitalizing the initial 't'). The prediction applies the same capitalization change but includes surrounding context (the full quoted sentence), changing \u201cthey are to be married.\u201d to \u201cThey are to be married.\u201d This captures the same core change (they \u2192 They). Therefore, the predicted edit matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:13:38.887935",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:13:58.848993",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you!\" murmured",
            "corrected_text": "\"Thank you,\" murmured",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation in the phrase from \"Thank you!\" to \"Thank you,\" (exclamation mark to comma). The predicted edit performs the same core change, but includes additional surrounding context (the closing quote and the word \"murmured\"). The essential intended correction\u2014replacing ! with , after \"Thank you\"\u2014is accurately captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "than once were",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"that\" to \"than\". The prediction changes \"that once were\" to \"than once were\", which includes extra surrounding context but preserves the same core substitution (\"that\" \u2192 \"than\"). Therefore, it correctly captures the intended edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy",
            "corrected_text": "that, in our fancy",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:13:49.839231",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:25:46.845258",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you!\" murmured",
            "corrected_text": "\"Thank you,\" murmured",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation in the phrase from \"Thank you!\" to \"Thank you,\" (exclamation mark to comma). The predicted edit performs the same core change\u2014replacing the exclamation mark after \"Thank you\" with a comma\u2014while including additional surrounding context (quotation marks and the following word \"murmured\"). This added context does not alter the essential edit, and the intended punctuation correction is captured correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change: insertion of a comma after \"shore\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "than once were",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches.\n2) Text Content Accuracy: The ground truth replaces \"that\" with \"than\". The prediction replaces the larger span \"that once were\" with \"than once were\", which preserves the same core change (\"that\" \u2192 \"than\") while including extra surrounding context. This correctly captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:16:05.088580",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:25:42.225481",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you!\" murmured",
            "corrected_text": "\"Thank you,\" murmured",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation in \"Thank you!\" to \"Thank you,\" (exclamation mark to comma). The predicted edit performs the same core punctuation change within a larger quoted context (\"Thank you!\" murmured \u2192 \"Thank you,\" murmured). Including extra surrounding words is acceptable, and the essential correction is identical.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change, inserting a comma to change \"shore and\" to \"shore, and\". The original and corrected texts are identical between ground truth and prediction, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "greater things that once were",
            "corrected_text": "greater things than once were",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth core change is replacing the word \"that\" with \"than\". The predicted edit replaces the longer span \"greater things that once were\" with \"greater things than once were,\" which includes the same essential word substitution (that \u2192 than) with additional surrounding context. This correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and that in",
            "corrected_text": "and that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "our fancy whatever",
            "corrected_text": "our fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:14:11.223780",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:13:49.709258",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Chapter XXIX\" to \"Chapter XXIX.\" by adding a period at the end. The core intended punctuation change is captured identically.\nTherefore, the predicted edit correctly matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the city",
            "corrected_text": "the City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing \"city\" to \"City.\" The prediction applies the same capitalization change to the word \"city\" but includes additional surrounding context (\"the\"). Since the essential modification\u2014\"city\" \u2192 \"City\"\u2014is correctly captured, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of the same",
            "corrected_text": "return to the same",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth core change is replacing the word \"of\" with \"to\". The predicted edit replaces the phrase \"return of the same\" with \"return to the same\", which includes additional surrounding context but preserves the same essential substitution (\"of\" \u2192 \"to\"). Therefore, the prediction captures the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "familiar with them,",
            "corrected_text": "familiar with them;",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"them\" from a comma to a semicolon (\"them,\" \u2192 \"them;\"). The predicted edit performs the same core change, just with extra surrounding context (\"familiar with them,\" \u2192 \"familiar with them;\"). This captures the essential intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at the hour",
            "corrected_text": "existence, at the hour",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit also inserts a comma right after \"existence\" within a longer phrase (\"existence at the hour\" \u2192 \"existence, at the hour\"). This captures the same core punctuation correction, with additional surrounding context, which is allowed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "it, to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The core change in the ground truth is replacing the comma after \"it\" with a semicolon (\"it,\" \u2192 \"it;\"). The prediction applies the same punctuation change in the same location, merely including extra surrounding context (\"to suppose\"). This still captures the essential intended correction."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change, inserting a comma immediately after \"motionless\" within a larger context (\"motionless when\" \u2192 \"motionless, when\"). This preserves the essential intended punctuation correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "stand-still, to be",
            "corrected_text": "stand-still; to be",
            "observed_line_number": 18,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing the comma after \"stand-still\" with a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction performs the same core punctuation change, just with additional surrounding context (\"stand-still, to be\" \u2192 \"stand-still; to be\"). The essential intended edit\u2014comma to semicolon after \"stand-still\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 18,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds a comma after \"view\" as well, using additional surrounding context (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation insertion at the same location, so the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence, is the infirmity",
            "corrected_text": "existence; is the infirmity",
            "observed_line_number": 20,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing the comma after \"existence\" with a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction makes the same core punctuation substitution, merely including additional surrounding context (\"existence, is the infirmity\" \u2192 \"existence; is the infirmity\"). This correctly captures the essential intended edit."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch Goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch Goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:14:14.731850",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:26:35.271389",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Chapter XXIX\" to \"Chapter XXIX.\" by adding a period at the end. The core intended punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the city",
            "corrected_text": "the City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n2) Text Content Accuracy: The ground truth change is to capitalize \"city\" \u2192 \"City.\" The prediction applies the same core capitalization change within a slightly larger context (\"the city\" \u2192 \"the City\"). This preserves the essential intended correction (capitalizing the word \"city\") and is therefore an accurate capture of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"of\" with \"to\". The predicted edit replaces \"return of\" with \"return to\", which contains the same essential change (\"of\" \u2192 \"to\") with additional surrounding context. This correctly captures the core intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "familiar with them,",
            "corrected_text": "familiar with them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth changes the punctuation in \"them,\" to \"them;\" (comma \u2192 semicolon). The prediction applies the same core change, but includes extra surrounding context (\"familiar with\"). Since the essential punctuation change at \"them,\" \u2192 \"them;\" is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction adds a comma after \"existence\" within a longer span (\"busy existence at\" \u2192 \"busy existence, at\"). This captures the same core punctuation insertion at the correct word, merely with additional surrounding context. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes \"it,\" to \"it;\" (comma to semicolon after \"it\"). The prediction changes \"it, to suppose\" to \"it; to suppose,\" which includes additional surrounding context but performs the same core punctuation change at the same location (comma \u2192 semicolon after \"it\"). This correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction adds a comma in the same place, after \"motionless\", while including additional surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This captures the core intended punctuation change accurately."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a stand-still, to",
            "corrected_text": "a stand-still; to",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The predicted edit makes the same core change, simply including extra surrounding context (\"a stand-still, to\" \u2192 \"a stand-still; to\"). The essential punctuation substitution (comma \u2192 semicolon immediately after \"stand-still\") is correctly captured."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "our view by",
            "corrected_text": "our view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change in a larger context (\"our view by\" \u2192 \"our view, by\"), which still places a comma immediately after \"view\". The extra surrounding words do not alter the essential edit.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "contracted existence, is",
            "corrected_text": "contracted existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes a comma to a semicolon in \"existence,\" \u2192 \"existence;\". The prediction changes the same punctuation mark at the same word boundary, but includes extra surrounding context: \"contracted existence, is\" \u2192 \"contracted existence; is\". This captures the same core correction (comma after \"existence\" replaced with a semicolon)."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch Goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch Goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:14:15.252672",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:25:43.270787",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\". The original_text and corrected_text are identical between ground truth and prediction, so the intended punctuation correction is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the city",
            "corrected_text": "the City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n2) Text Content Accuracy: The ground truth change is capitalizing \"city\" to \"City.\" The prediction applies the same capitalization change to the word \"city\" within a larger phrase (\"the city\" \u2192 \"the City\"). This includes extra context but preserves the core intended change (capitalizing the same target word). Therefore, it correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"of\" \u2192 \"to\". The predicted edit changes \"return of\" \u2192 \"return to\", which includes additional surrounding context but preserves the same core substitution (replacing \"of\" with \"to\"). Therefore, it captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "familiar with them,",
            "corrected_text": "familiar with them;",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation immediately following \"them\" from a comma to a semicolon (\"them,\" \u2192 \"them;\"). The prediction makes the same core change, but includes additional surrounding context (\"familiar with them,\" \u2192 \"familiar with them;\"). This still captures the essential intended correction (comma to semicolon after \"them\").\n\nTherefore, the predicted edit correctly reflects the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 17,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction shows a comma inserted after \"existence\" in the larger phrase (\"existence at\" \u2192 \"existence, at\"). This captures the same core punctuation change, with additional surrounding context, which is allowed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "it, to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is specifically replacing the comma after \"it\" (\"it,\") with a semicolon (\"it;\"). The predicted edit expands the span to include following context (\"it, to suppose\" \u2192 \"it; to suppose\"), but it makes the same essential punctuation change at the same location (comma after \"it\" replaced by semicolon). Extra surrounding words do not alter the core correction.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change within a larger span (\"motionless when\" \u2192 \"motionless, when\"), which correctly captures the essential punctuation insertion after \"motionless\". The extra context word \"when\" does not alter the core intended edit."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "stand-still, to be",
            "corrected_text": "stand-still; to be",
            "observed_line_number": 19,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation immediately following \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The predicted edit performs the same core change, simply including additional surrounding context (\"stand-still, to be\" \u2192 \"stand-still; to be\"). This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 19,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds a comma immediately after \"view\" as well, while including extra surrounding context (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation change intended in the ground truth."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "existence, is",
            "corrected_text": "existence; is",
            "observed_line_number": 21,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The core change in the ground truth is replacing the comma after \"existence\" with a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction applies the same punctuation change, merely including additional surrounding context (\"existence, is\" \u2192 \"existence; is\"). This preserves and correctly captures the essential intended correction."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:14:14.194621",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:15:08.992569",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The predicted edit applies the same comma insertion within a longer excerpt (\"now I have paid it\" \u2192 \"now, I have paid it\"). This includes additional surrounding context but captures the same core change\u2014adding a comma after \"now\"\u2014so the textual intention matches."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"authorize\") and the same corrected text (\"authorise\"). This captures the core intended change (American to British spelling) with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that-boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Your",
            "corrected_text": "Your",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty;",
            "corrected_text": "at twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him, than",
            "corrected_text": "him than",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:14:12.048487",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:26:40.498231",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The prediction likewise inserts a comma after \"now\" within a longer phrase (\"now I have paid it\" \u2192 \"now, I have paid it\"). This preserves the core intended punctuation change, only adding surrounding context, which is allowed.\n\nTherefore, the predicted edit correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\". This captures the same core spelling change intended by the ground truth with no discrepancies. Therefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam;",
            "corrected_text": "said Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that-boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty,",
            "corrected_text": "at twenty;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Your",
            "corrected_text": "Your",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "out of him, than",
            "corrected_text": "out of him than",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:14:12.567450",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:27:29.977656",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The prediction also inserts a comma after \"now\" (\"now I have paid it\" \u2192 \"now, I have paid it\"). Although the prediction includes additional surrounding words, it captures the same core punctuation change and matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both replace the original text \"authorize\" with the corrected text \"authorise\". The core intended spelling change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam; \"not that",
            "corrected_text": "said Clennam, \"not that",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty, sticking",
            "corrected_text": "at twenty; sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "bubbling out of him",
            "corrected_text": "bubbling out of him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "out of him than",
            "corrected_text": "out of him, than",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:14:03.645441",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T11:14:05.235234",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"For Mr. Pancks\" to \"For, Mr. Pancks\" by inserting a comma after \"For\". The core punctuation correction is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core change is identical, with matching original and corrected text. Therefore the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me, not",
            "corrected_text": "making me; not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:14:17.336212",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T12:25:52.764744",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"For Mr. Pancks\" to \"For, Mr. Pancks\" by inserting a comma after \"For\". The core punctuation correction is identical. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same correction (\"quickly, that\"), inserting a comma after \"quickly\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me, not",
            "corrected_text": "making me; not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-fable-5",
        "date": "2026-07-23T15:14:36.870889",
        "annotator": "Claude Fable 5",
        "annotation_date": "2026-07-23T13:25:46.232895",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"For Mr. Pancks\") and the same corrected text (\"For, Mr. Pancks\"), capturing the intended insertion of a comma after \"For\". Therefore, the core change matches the ground truth exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same change, inserting a comma after \"quickly\" (\"quickly that\" \u2192 \"quickly, that\"). The core correction is identical, with no mismatch in original or corrected text. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me, not",
            "corrected_text": "making me; not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2026-06-09",
    "release_source": "https://www.anthropic.com/news/claude-fable-5-mythos-5",
    "release_notes": "First model in the Claude 5 family (Mythos-class tier above Opus). Availability was suspended by a US Commerce Department order on 2026-06-12 and restored on 2026-07-01.",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit."
  },
  {
    "model_name": "Claude Fable 5.1 (OR)",
    "model_id": "or_claude_fable_5_1",
    "date": "2026-09-06T04:17:14.450337",
    "shots": 2,
    "config": {
      "model_id": "or_claude_fable_5_1",
      "display_name": "Claude Fable 5.1 (OR)",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-09-06",
      "notes": "Benchmark run with 2-shot learning at high reasoning effort"
    },
    "annotator": "Claude Fable 5.1 (OR)",
    "annotation_date": "2026-09-06T04:09:23.140515",
    "file_results": [
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:41.065702",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:09:23.140515",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core punctuation correction, changing \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The essential edit is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over\" by inserting a comma after \"howling.\" The core punctuation change is identical with no discrepancy in original or corrected text.\nTherefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same correction (\"yonder, to-day\"), inserting a comma after \"yonder\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"Sir\" to \"sir\". The core intended change (lowercasing the initial letter) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"pockets\" in the phrase \"pockets and\" to become \"pockets, and.\" There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:34.784248",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:11:39.377923",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a period to \"Fellow Travellers\" to become \"Fellow Travellers.\" There are no discrepancies in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same core change: inserting a comma after \"howling\" so that \"howling over\" becomes \"howling, over\". The original_text and corrected_text match the ground truth exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same correction (inserting a comma: \"yonder, to-day\"). The core intended change\u2014adding a comma after \"yonder\"\u2014is captured identically."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Sir\" to \"sir\". The core intended change (lowercasing the initial letter) is captured precisely with no mismatch in original or corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"pockets and\") and the same correction (\"pockets, and\"), capturing the identical core change of inserting a comma after \"pockets\". Therefore, the predicted edit matches the ground truth intention."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:40.997287",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:13:47.355653",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. This captures the identical core punctuation correction with the same original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over\" by inserting a comma after \"howling.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder\". The original and corrected text match the ground truth\u2019s core change exactly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify changing \"Sir\" to \"sir\", capturing the same core capitalization correction with identical original and corrected text.\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The core intended punctuation correction is captured identically."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:32.866128",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:09:21.171510",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text \"No sir\" and the same corrected text \"No, sir\", capturing the identical core change (inserting a comma after \"No\"). Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"why did he dine",
            "corrected_text": "\"Why did he dine",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial \"w\" in \"why did he dine\" to \"Why did he dine.\" The prediction applies the same capitalization change, but includes an additional leading quotation mark in both the original and corrected strings (\"\\\"why did he dine\" \u2192 \"\\\"Why did he dine\"). This extra context does not alter the core change being captured (why \u2192 Why), so it correctly reflects the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!\"",
            "corrected_text": "cold stones?\"",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation at the end of the phrase from an exclamation mark to a question mark (\"cold stones!\" \u2192 \"cold stones?\"). The predicted edit captures the same core change (\"cold stones!\\\"\" \u2192 \"cold stones?\\\"\"). The additional trailing quote mark is extra context present in both the predicted original and corrected text and does not alter the essential intended correction (! \u2192 ?). Therefore, the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:32.880755",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:11:43.547506",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"No sir\") and the same corrected text (\"No, sir\"), capturing the identical core change of inserting a comma after \"No.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"why did he dine",
            "corrected_text": "\"Why did he dine",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial \"w\" in \"why\" to \"Why\" in the phrase \"why did he dine\". The prediction captures the same core change (\"why\" \u2192 \"Why\") and merely includes an extra leading quotation mark as additional context in both the original and corrected text. Since the essential capitalization correction is preserved, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!\"",
            "corrected_text": "cold stones?\"",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation mark to a question mark (\"cold stones!\" \u2192 \"cold stones?\"). The prediction captures the same core change (! \u2192 ?) and merely includes an additional trailing quotation mark in both the original and corrected strings (\"cold stones!\\\"\" \u2192 \"cold stones?\\\"\"). This added context does not alter the essential intended correction, so the text-content requirement is satisfied."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:36.720816",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:13:56.350345",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"No sir\" to \"No, sir\" (inserting a comma after \"No\"), which captures the core intended correction. Therefore the predicted edit matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"why did he dine",
            "corrected_text": "\"Why did he dine",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial \"why\" to \"Why\" in the phrase \"why did he dine\". The prediction makes the same core change (\"why\" \u2192 \"Why\") and merely includes an additional leading quotation mark as surrounding context in both the original and corrected text. Since the essential capitalization correction is captured correctly and extra context is allowed, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!\"",
            "corrected_text": "cold stones?\"",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the terminal punctuation in \"cold stones!\" to a question mark (\"cold stones?\"). The prediction applies the same core change (! \u2192 ?) while including an additional trailing quotation mark in both original and corrected strings (\"cold stones!\\\"\" \u2192 \"cold stones?\\\"\"). This added context does not alter the essential intended edit, and the key punctuation replacement is correctly captured."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:30.200333",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:09:27.162242",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"capitalization\" and the predicted type is also \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change the same phrase from \"if he\" to \"If he\", capturing the identical core capitalization correction. No mismatch in original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both change the exact same phrase from \"said Clennam\" to \"asked Clennam.\" The core intended substitution is identical with no discrepancies.\nTherefore, the predicted edit correctly captures the ground truth intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:30.752161",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:11:45.990013",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "do? if he",
            "corrected_text": "do? If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing \"if\" to \"If\" in the phrase \"if he\" \u2192 \"If he.\" The prediction applies the same capitalization change, but includes additional surrounding context (\"do? \") in both original and corrected text: \"do? if he\" \u2192 \"do? If he.\" This still captures the core intended correction (lowercase \"if\" to uppercase \"If\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both identify the same original text (\"said Clennam\") and the same corrected text (\"asked Clennam\"), capturing the identical core change with no discrepancies. Therefore, the predicted edit matches the ground truth intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:35.088856",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:13:49.270925",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "do? if he",
            "corrected_text": "do? If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial \"if\" in the phrase \"if he\" \u2192 \"If he.\" The prediction applies the same capitalization change, but includes additional surrounding context (\"do? \"). Since the core change (lowercase \"if\" to capitalized \"If\") is correctly captured, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly. Text Content Accuracy: Both replace the exact same original text \"said Clennam\" with the corrected text \"asked Clennam\". The core change is identical and fully captures the ground truth intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:44.938107",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:09:23.680999",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify changing \"high road\" to \"high-road\" (inserting a hyphen between the words). The original and corrected text match the ground truth core change exactly. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"materials costing\" to \"materials, costing\", correctly capturing the intended insertion of a comma after \"materials\". No discrepancy in the core change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction change \"about and\" to \"about, and\" by inserting a comma after \"about.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion, did",
            "corrected_text": "tion did",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change removes the comma between \"association\" and \"did\" (\"association, did\" \u2192 \"association did\"). The prediction removes the comma in the corresponding substring (\"tion, did\" \u2192 \"tion did\"). Although the prediction provides less surrounding context (truncating \"association\" to its ending), it captures the same core intended punctuation edit: deleting the comma before \"did\". Therefore the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"earnestly telling\" to \"earnestly, telling,\" inserting a comma after \"earnestly.\" The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"said when\" to \"said, when\", inserting a comma after \"said\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction adds a comma after the phrase ending in \"said\" (\"and said\" \u2192 \"and said,\"). This includes additional preceding context (\"and\") but preserves the same core correction: inserting a comma immediately after \"said\". Therefore, the prediction captures the ground truth\u2019s intended punctuation change."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change: inserting a comma after \"Clennam.\" Therefore, the predicted edit matches the ground truth intention."
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:48.074385",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:11:42.799973",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have the type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"high road\" and the same correction to \"high-road\", capturing the identical core change (adding a hyphen). Therefore, the prediction correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change of inserting a comma after \"materials\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"about and\" \u2192 \"about, and\" (inserting a comma after \"about\"). This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion, did",
            "corrected_text": "tion did",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth removes the comma in \"association, did\" \u2192 \"association did\". The prediction removes the comma in \"tion, did\" \u2192 \"tion did\". Although the prediction includes less surrounding context (it truncates \"association\" to its ending \"tion\"), it captures the same core change: deleting the comma immediately before \"did\". Therefore, the essential intended punctuation correction is accurately represented."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit type matches exactly: both are labeled as \"punctuation\". Text content also matches the core intended change: both convert \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". No discrepancy in the essential correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"said when\") and the same corrected text (\"said, when\"), capturing the identical core punctuation insertion (adding a comma after \"said\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction applies the same core change\u2014adding a comma after \"said\"\u2014but includes additional preceding context (\"and said\" \u2192 \"and said,\"). This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"Clennam in\" \u001f \"Clennam, in\" (inserting a comma after \"Clennam\"). The core change is identical with no discrepancies in original or corrected text."
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:39.137086",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:13:58.035636",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing \"high road\" with \"high-road\" (inserting a hyphen). The original and corrected texts are identical between ground truth and prediction, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"materials\" in the phrase \"materials costing\", resulting in \"materials, costing\". The core punctuation correction is captured identically.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits have the type \"punctuation\", so the edit type matches exactly. Text Content Accuracy: Both edits change \"about and\" to \"about, and\" by inserting a comma after \"about\". The core intended punctuation correction is captured precisely with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), inserting a comma after \"earnestly\". The core change is identical. Therefore the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"said when\" to \"said, when\", correctly capturing the core intended edit (inserting a comma after \"said\"). Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction adds a comma after \"said\" as well, but includes extra surrounding context (\"and said\" \u2192 \"and said,\"). This still captures the same core punctuation change at the same target word, so the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit type matches exactly: both are labeled as \"punctuation.\" Text content matches the core change: both edits insert a comma after \"Clennam,\" changing \"Clennam in\" to \"Clennam, in.\" Therefore the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion, did not",
            "corrected_text": "tion did not",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:54.068687",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:09:11.460403",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to change \"Sun and Shadow\" to \"Sun and Shadow.\" The prediction\u2019s extra note about a handwritten query does not alter the edit itself and is acceptable additional context. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:59.751662",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:11:32.618794",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Ground truth changes \"Sun and Shadow\" to \"Sun and Shadow.\" (adds a period). The predicted edit applies the same core change with identical original and corrected text. The additional notes about a handwritten query do not alter the edit itself. Therefore, the prediction captures the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:15:57.959102",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:13:43.174389",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:07.816768",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:09:22.319090",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma between \"dull\" and \"autumn\" (\"dull autumn\" \u2192 \"dull, autumn\"). The original and corrected texts align perfectly with the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are of type \"replacement\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"Saone\" to \"Sa\u00f4ne\" (adding the circumflex). The predicted edit changes \"river Saone\" to \"river Sa\u00f4ne\", which includes extra surrounding context but preserves the same core correction on the target word. Therefore, the essential intended change is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: The ground truth corrects \"Saone\" to \"Sa\u00f4ne\" (adding the circumflex). The predicted edit changes \"river Saone\" to \"river Sa\u00f4ne\", which includes extra surrounding context but preserves the same essential correction on the target word. Therefore, it captures the core intended change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma after \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction also inserts a comma after \"man\" while including extra preceding context (\"One man slowly\" \u2192 \"One man, slowly\"). This preserves the core intended punctuation change. Therefore the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:21.452185",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:11:44.440554",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "late, dull autumn",
            "corrected_text": "late, dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma between \"dull\" and \"autumn\" (\"dull autumn\" \u2192 \"dull, autumn\"). The prediction applies the same core change within a longer context (\"late, dull autumn\" \u2192 \"late, dull, autumn\"), which includes adding the comma after \"dull\" before \"autumn\". The additional surrounding word \"late,\" does not alter the essential intended correction. Therefore, the prediction captures the ground truth\u2019s core punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"Saone\" to \"Sa\u00f4ne\" (adding the circumflex). The prediction changes \"river Saone\" to \"river Sa\u00f4ne\", which includes extra surrounding context but preserves the same essential correction to the word \"Saone\". Therefore, the core intended change is accurately captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "river Saone it",
            "corrected_text": "river Sa\u00f4ne it",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth replaces \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex). The predicted edit replaces \"river Saone it\" with \"river Sa\u00f4ne it\", which includes extra surrounding context but performs the same core change: \"Saone\" \u2192 \"Sa\u00f4ne\". Therefore, it accurately captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth change inserts a comma after \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly.\" The prediction applies the same core punctuation change, inserting a comma after \"man\" in a slightly longer snippet: \"One man slowly\" \u2192 \"One man, slowly.\" This includes extra context but preserves the essential intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the core intended change: insertion of a comma after \"Chalons\". Therefore the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with wet",
            "corrected_text": "soddened with wet",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:17.358309",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:13:52.098112",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: The ground truth corrects \"Saone\" to \"Sa\u00f4ne\" (adding the circumflex). The predicted edit changes \"river Saone\" to \"river Sa\u00f4ne\", which includes extra surrounding context but preserves the same essential correction on the word \"Saone\". Therefore, it accurately captures the intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"Saone\" to \"Sa\u00f4ne\" (adding the circumflex). The prediction changes \"river Saone\" to \"river Sa\u00f4ne\", which includes extra surrounding context but performs the same core correction on the target word. This accurately captures the intended change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction applies the same core change within a slightly larger span (\"One man slowly\" \u2192 \"One man, slowly\"). The essential punctuation insertion is identical and correctly captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees against",
            "corrected_text": "poplar-trees, against",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:14.214762",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:09:36.627385",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so\" (inserting a comma after \"heart\"). The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same change: removing the comma after \"generous\" in \"generous, Mr.\" to produce \"generous Mr.\" The original and corrected texts match the ground truth\u2019s core intended edit with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she did",
            "corrected_text": "(as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify an \"insertion\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts the word \"indeed\" into the phrase \"as she did\" to make \"as indeed she did\". The prediction captures the same core change (inserting \"indeed\" in the same location) while including an extra leading parenthesis as additional surrounding context in both the original_text and corrected_text. This added context does not alter the essential intended edit, so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The predicted edit does the same core punctuation insertion, just with additional surrounding context (\"at length said\" \u2192 \"at length, said\"). This preserves the essential intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (present tense \"hope\" to past tense \"hoped\"). Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:16.015617",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:11:55.182810",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The prediction also inserts a comma after \"heart\" (\"heart so much\" \u2192 \"heart, so much\"). Although the prediction includes additional surrounding words (\"so much\"), it captures the same core punctuation change in the correct location. Therefore, it matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same change from \"generous, Mr.\" to \"generous Mr.\", removing the comma after \"generous\". The core intended correction is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she did",
            "corrected_text": "(as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches.\n\n2) Text Content Accuracy: The core intended change is inserting the word \"indeed\" into the phrase \"as she did\" to make it \"as indeed she did.\" The prediction captures exactly this insertion. The only difference is that the predicted original/corrected text includes an extra leading parenthesis \"(\" in both versions, which is permissible additional context and does not alter the essential edit.\n\nTherefore, the predicted edit correctly reflects the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said Clennam",
            "corrected_text": "at length, said Clennam",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"length\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core punctuation change within a longer phrase (\"at length said Clennam\" \u2192 \"at length, said Clennam\"). The added surrounding context does not alter the essential intended correction. Therefore, the predicted edit captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (tense shift from hope to hoped). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:20.286982",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:13:59.879140",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The predicted edit also inserts a comma after \"heart\" (\"heart so much\" \u2192 \"heart, so much\"). Although the prediction includes extra surrounding context (adding \"much\"), it preserves the same core punctuation correction at the same location. Therefore, it captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she did",
            "corrected_text": "(as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as an \"insertion,\" so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change is inserting the word \"indeed\" into the phrase \"as she did\" to make it \"as indeed she did.\" The predicted edit captures this exact insertion. The prediction includes an additional preceding parenthesis in both the original and corrected text (\"(as ...\"), which is allowable extra context and does not alter the essential change. Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said Clennam",
            "corrected_text": "at length, said Clennam",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma between \u201clength\u201d and \u201csaid\u201d (\"length said\" \u2192 \"length, said\"). The predicted edit applies the same core punctuation change, adding a comma after \u201clength,\u201d but includes additional surrounding context (\"at length said Clennam\" \u2192 \"at length, said Clennam\"). This extra context does not alter the essential intended correction, which is the comma insertion after \u201clength.\u201d"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change from present to past tense. No mismatch or missing content is present."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:22.064436",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:09:27.078852",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The core change is identical, with no discrepancies in wording or punctuation."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the identical change from \"beautiful that\" to \"beautiful, that\"\u2014inserting a comma after \"beautiful.\" The core punctuation correction is captured precisely with matching original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they are to be married.\"",
            "corrected_text": "\"They are to be married.\"",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes the word \"they\" to \"They\" (capitalizing the initial 't'). The prediction applies the same capitalization change to \"they\" at the start of the quoted phrase (\"they are to be married.\" \u2192 \"They are to be married.\"). Although the prediction includes additional surrounding context (the rest of the sentence and quotation marks), it captures the same core change intended by the ground truth."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:33.008957",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:11:44.287954",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"hers\" (\"hers and\" \u2192 \"hers, and\"). The prediction also inserts a comma after \"hers,\" but includes extra surrounding context (\"from hers and\" \u2192 \"from hers, and\"). This still captures the same core punctuation correction intended by the ground truth.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters little",
            "corrected_text": "on hers, matters little",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction performs the same essential change\u2014adding a comma immediately after \"hers\"\u2014but includes extra surrounding context (\"on\" before and \"matters little\" after). This added context does not alter the core punctuation correction, so the intended edit is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment with",
            "corrected_text": "for a moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"moment\" (\"moment with\" \u2192 \"moment, with\"). The prediction performs the same core punctuation insertion, merely including extra surrounding context (\"for a moment with\" \u2192 \"for a moment, with\"). This captures the essential intended edit accurately."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so beautiful that",
            "corrected_text": "so beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \u201cbeautiful\u201d in the phrase \u201cbeautiful that\u201d \u2192 \u201cbeautiful, that.\u201d The prediction performs the same core punctuation change (comma after \u201cbeautiful\u201d) but includes additional surrounding context (\u201cso\u201d before the phrase): \u201cso beautiful that\u201d \u2192 \u201cso beautiful, that.\u201d This preserves the essential intended correction.\n\nTherefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they are to be married.\"",
            "corrected_text": "\"They are to be married.\"",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change \"they\" to \"They\" (capitalizing the initial 't'). The prediction performs the same core change, but includes additional surrounding context (the full quoted sentence), changing \"\\\"they are to be married.\\\"\" to \"\\\"They are to be married.\\\"\". This captures the essential capitalization correction identified in the ground truth.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:32.999047",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:13:54.851299",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and\". The prediction applies the same core punctuation change, but includes extra preceding context: \"from hers and\" \u2192 \"from hers, and\". This still captures the essential intended edit (adding the comma after \"hers\").\n\nBecause both the edit type and the core textual change align with the ground truth intention, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma between \"hers\" and \"matters\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction performs the same core punctuation change, merely including extra surrounding context (\"on hers matters\" \u2192 \"on hers, matters\"). The essential edit\u2014adding the comma after \"hers\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with,\" inserting a comma after \"moment.\" The core punctuation change is identical."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"beautiful that\" and the same corrected text \"beautiful, that\", inserting a comma after \"beautiful\". The core change is identical and fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they are",
            "corrected_text": "\"They are",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth change is capitalizing \"they\" to \"They.\" The prediction applies the same capitalization change within a larger span (\"\\\"they are\" \u2192 \"\\\"They are\"). Although it includes additional surrounding context (a preceding quote and the following word \"are\"), the core intended edit\u2014changing lowercase \"they\" to capitalized \"They\"\u2014is correctly captured."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:34.371718",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:09:22.367843",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you!\" murmured",
            "corrected_text": "\"Thank you,\" murmured",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"Thank you!\" to \"Thank you,\" (replacing the exclamation mark with a comma). The predicted edit makes the same core punctuation change within a larger quoted phrase (\"Thank you!\" murmured \u2192 \"Thank you,\" murmured). The added surrounding context does not alter the essential correction, and the intended punctuation change is accurately captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "greater things that once",
            "corrected_text": "greater things than once",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as a \"replacement,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth change is specifically replacing \"that\" with \"than.\" The predicted edit replaces the phrase \"greater things that once\" with \"greater things than once,\" which includes additional surrounding context but preserves the same core correction (\"that\" \u2192 \"than\"). Therefore, it correctly captures the intended change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:36.406789",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:11:51.775093",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you!\" murmured",
            "corrected_text": "\"Thank you,\" murmured",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation in \"Thank you!\" to \"Thank you,\" (exclamation mark to comma). The predicted edit makes the same core punctuation change, just with additional surrounding context (including quotation marks and the following word \"murmured\"). This still captures the essential intended correction.\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"shore and\" to \"shore, and,\" inserting a comma after \"shore.\" The core intended punctuation correction is captured with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "things that once",
            "corrected_text": "things than once",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are \"replacement\" edits, so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"that\" to \"than\". The predicted edit replaces the larger span \"things that once\" with \"things than once\", which includes the same core substitution (\"that\" \u2192 \"than\") while adding surrounding context. This still captures the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:43.462276",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:14:01.488310",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that, in our fancy",
            "corrected_text": "that in our fancy",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change removes the comma in \"that, in\" to make it \"that in.\" The predicted edit applies the same core change (removing the comma after \"that\") but includes extra surrounding context (\"our fancy\"). This additional context does not alter the essential correction; it still captures the intended punctuation removal.\n\nTherefore, the predicted edit correctly reflects the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"fancy, whatever\") and the same corrected text (\"fancy whatever\"), capturing the core intention to remove the comma. Therefore, the predicted edit fully matches the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you!\" murmured",
            "corrected_text": "\"Thank you,\" murmured",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation in the phrase from \"Thank you!\" to \"Thank you,\" (exclamation mark to comma). The predicted edit applies the same core change, but includes additional surrounding context (the quotation marks and the following word \"murmured\"). This added context does not alter the essential correction, which is the same punctuation replacement.\n\nTherefore, the prediction correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "things that once were",
            "corrected_text": "things than once were",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to replace the single word \"that\" with \"than\". The prediction replaces the phrase \"things that once were\" with \"things than once were\", which includes the same core change (\"that\" \u2192 \"than\") while adding surrounding context. Since the essential substitution is correctly captured, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:17:08.735077",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:09:27.389165",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"Chapter XXIX\" \u2192 \"Chapter XXIX.\" (adding a period). This captures the identical core change with no discrepancy.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the city preserved",
            "corrected_text": "the City preserved",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n2) Text Content Accuracy: The ground truth change is to capitalize the word \"city\" to \"City.\" The prediction applies the same core change (\"city\" \u2192 \"City\") within a larger phrase (\"the city preserved\" \u2192 \"the City preserved\"). Including surrounding context is allowed, and the essential capitalization correction is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of the same",
            "corrected_text": "return to the same",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\" edits, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates changing \"of\" to \"to\". The predicted edit changes the phrase \"return of the same\" to \"return to the same,\" which contains the same core substitution (\"of\" \u2192 \"to\") with additional surrounding context. This correctly captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "familiar with them,",
            "corrected_text": "familiar with them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation immediately following \"them\" from a comma to a semicolon (\"them,\" \u2192 \"them;\"). The predicted edit performs the same core change, just with additional surrounding context (\"familiar with them,\" \u2192 \"familiar with them;\"). The essential punctuation substitution is correctly captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at the hour",
            "corrected_text": "busy existence, at the hour",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth adds a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit adds a comma immediately after \"existence\" within a longer phrase (\"busy existence at the hour\" \u2192 \"busy existence, at the hour\"). Although it includes additional surrounding words, it captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: The ground truth changes the punctuation after \"it\" from a comma to a semicolon (\"it,\" \u2192 \"it;\"). The predicted edit makes the same core change, simply including additional surrounding context (\"it, to suppose\" \u2192 \"it; to suppose\"). The essential punctuation substitution is identical and correctly captured."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction adds the same comma after \"motionless\" while including extra surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This captures the essential intended punctuation change."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still, to be",
            "corrected_text": "stand-still; to be",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\n2. Text Content Accuracy: The ground truth changes the punctuation after \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction makes the same core change, only including extra surrounding context (\"to be\") in both original and corrected strings. The essential intended correction (comma \u2192 semicolon immediately after \"stand-still\") is correctly captured."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "our view by",
            "corrected_text": "our view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds a comma after \"view\" within a longer phrase (\"our view by\" \u2192 \"our view, by\"). This captures the same core intended punctuation insertion; the extra surrounding words are acceptable context.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "contracted existence, is",
            "corrected_text": "contracted existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth core change is replacing the comma after \"existence,\" with a semicolon (\"existence;\" instead of \"existence,\"). The prediction makes the same punctuation substitution in context (\"contracted existence, is\" \u2192 \"contracted existence; is\"). Although the prediction includes extra surrounding words, it captures the essential intended change: comma-to-semicolon immediately following \"existence\"."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:17:14.450337",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:11:51.903466",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\" The original and corrected texts are identical between ground truth and prediction, capturing the intended punctuation insertion precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the city preserved",
            "corrected_text": "the City preserved",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is specifically \"city\" \u2192 \"City\". The prediction applies the same capitalization change to the word \"city\" within a longer span (\"the city preserved\" \u2192 \"the City preserved\"). Including additional surrounding context is acceptable, and the core intended change (capitalizing \"city\" to \"City\") is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of the same",
            "corrected_text": "return to the same",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth specifies changing \"of\" to \"to\". The predicted edit changes \"return of the same\" to \"return to the same\", which includes the same core substitution (\"of\" \u2192 \"to\") with additional surrounding context. This correctly captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "familiar with them,",
            "corrected_text": "familiar with them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth changes a comma to a semicolon after the word \"them\" (\"them,\" \u2192 \"them;\"). The predicted edit applies the same core punctuation change, just with additional surrounding context (\"familiar with them,\" \u2192 \"familiar with them;\"). Since the essential modification (comma replaced by semicolon after \"them\") is correctly captured, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at the hour",
            "corrected_text": "busy existence, at the hour",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same essential punctuation change within a larger phrase (\"busy existence at the hour\" \u2192 \"busy existence, at the hour\"), which correctly captures the intended core edit: inserting a comma immediately after \"existence\". \u0905\u0924\u093f\u0930\u093f\u0915\u094d\u0924 context does not alter the correctness of the core change."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"it,\" to \"it;\" (comma to semicolon). The predicted edit changes \"it, to suppose\" to \"it; to suppose,\" which includes extra surrounding context but preserves the same core punctuation substitution at \"it,\" \u2192 \"it;\". Therefore, the essential intended edit is correctly captured."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit also adds a comma after \"motionless\" and simply includes the following word for context (\"motionless when\" \u2192 \"motionless, when\"). This captures the same core punctuation insertion at the correct location.\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still, to be",
            "corrected_text": "stand-still; to be",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction captures the same core change, simply including additional surrounding context (\"to be\"). The essential punctuation substitution is identical, so it matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "our view by",
            "corrected_text": "our view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction expands the context to \"our view by\" \u2192 \"our view, by,\" which still captures the same core correction: inserting a comma immediately after \"view.\" The added surrounding words do not alter the essential punctuation change.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "contracted existence, is",
            "corrected_text": "contracted existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after the word \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The predicted edit applies the same core change in a larger context (\"contracted existence, is\" \u2192 \"contracted existence; is\"), which still clearly captures the intended comma-to-semicolon replacement immediately after \"existence.\" Additional surrounding words do not alter the essential correction."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:17:14.294451",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:14:01.754492",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both specify the same change: adding a period to \"Chapter XXIX\" to become \"Chapter XXIX.\". The core punctuation change is identical in original and corrected text.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the city preserved",
            "corrected_text": "the City preserved",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which matches the ground truth exactly.\n2) Text Content Accuracy: The ground truth change is capitalizing \"city\" to \"City.\" The prediction applies the same core change (\"city\" \u2192 \"City\") while including additional surrounding context (\"the\" and \"preserved\"). This still captures the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of the same",
            "corrected_text": "return to the same",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing \"of\" with \"to\". The predicted edit replaces the phrase \"return of the same\" with \"return to the same\", which includes additional surrounding context but preserves the core correction (\"of\" \u2192 \"to\") in the relevant location. Therefore, the essential intended change is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "familiar with them,",
            "corrected_text": "familiar with them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation immediately after \"them\" from a comma to a semicolon (\"them,\" \u2192 \"them;\"). The prediction applies the same core change, merely including additional surrounding context (\"familiar with them,\" \u2192 \"familiar with them;\"). This preserves the essential intended correction (comma-to-semicolon after \"them\")."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at the hour",
            "corrected_text": "existence, at the hour",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates inserting a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change\u2014adding a comma immediately after \"existence\"\u2014but includes additional surrounding context (\"existence at the hour\" \u2192 \"existence, at the hour\"). This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"it\" from a comma to a semicolon (\"it,\" \u2192 \"it;\"). The prediction applies the same core change, but includes additional surrounding context (\"it, to suppose\" \u2192 \"it; to suppose\"). This added context does not alter the essential edit; it still captures the comma-to-semicolon replacement at the same point. Therefore the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to add a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change, adding a comma immediately after \"motionless\" while including extra context (\"motionless when\" \u2192 \"motionless, when\"). This preserves the essential intended punctuation edit.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still, to be",
            "corrected_text": "stand-still; to be",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction makes the same core change at the same location, merely including extra surrounding context (\"stand-still, to be\" \u2192 \"stand-still; to be\"). Since the essential intended correction (comma \u2192 semicolon after \"stand-still\") is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change, adding a comma immediately after \"view\" within a larger context (\"view by\" \u2192 \"view, by\"). This captures the essential intended punctuation correction, merely including extra surrounding words.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "contracted existence, is",
            "corrected_text": "contracted existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after the word \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction applies the same core change in a longer excerpt (\"contracted existence, is\" \u2192 \"contracted existence; is\"). Although it includes additional surrounding words, the essential correction\u2014replacing the comma after \"existence\" with a semicolon\u2014is correctly captured."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:17:02.758871",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:10:18.871455",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change \"Clennam:\" to \"Clennam;\", replacing a colon with a semicolon. The core intended punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly. Text Content Accuracy: Both ground truth and prediction apply the italicization to the same word, \"him\" (original_text and corrected_text are identical aside from styling intent). The core change\u2014italicizing \"him\"\u2014is fully captured. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The predicted edit also inserts a comma after \"now\" (\"now I have paid it\" \u2192 \"now, I have paid it\"), merely including additional surrounding context. The core punctuation change is the same and correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the edit type matches exactly.\nText Content Accuracy: Both replace the same original text \"authorize\" with the same corrected text \"authorise\". The core intended change is captured with no discrepancy.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty, sticking",
            "corrected_text": "twenty; sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him than",
            "corrected_text": "him, than",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:17:07.077688",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:12:41.031296",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The prediction applies the same core change within a longer span of surrounding words (\"now I have paid it\" \u2192 \"now, I have paid it\"). The essential punctuation insertion is identical, and extra context is allowed. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both indicate replacing \"authorize\" with \"authorise\". The core change (American to British spelling) is identical in the prediction and ground truth. Therefore, the predicted edit captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty, sticking",
            "corrected_text": "at twenty; sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "<i>him</i>",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam",
            "corrected_text": "said Clennam;",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "out of him than",
            "corrected_text": "out of him, than",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:17:07.761403",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:14:47.679628",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty; sticking",
            "corrected_text": "at twenty: sticking",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \u201ctwenty\u201d from a semicolon to a colon (\"twenty;\" \u2192 \"twenty:\"). The prediction makes the same core change within a longer context string (\"at twenty; sticking\" \u2192 \"at twenty: sticking\"). Including extra surrounding words is acceptable, and the essential intended correction (semicolon \u2192 colon after \u201ctwenty\u201d) is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The predicted edit also inserts a comma after \"now\" (\"now I have paid it\" \u2192 \"now, I have paid it\"). Although the prediction includes additional surrounding words, it captures the same core punctuation change in the same location. Therefore, it matches the ground truth's intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same original text (\"authorize\") and the same corrected text (\"authorise\"). The core change\u2014American spelling to British spelling\u2014is captured identically. Therefore the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam, \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him than",
            "corrected_text": "him, than",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "*benevolence bubbling out of him*",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:56.847793",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:10:15.769323",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"For Mr. Pancks\") and the same corrected text (\"For, Mr. Pancks\"), capturing the core intended change: inserting a comma after \"For\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same correction (\"quickly, that\"), inserting a comma after \"quickly\". The core intended punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me, not",
            "corrected_text": "making me; not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:57.993851",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:12:28.510152",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"For Mr. Pancks\") and the same corrected text (\"For, Mr. Pancks\"), capturing the core change of inserting a comma after \"For\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change\u2014adding a comma after \"quickly\". Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me, not",
            "corrected_text": "making me; not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_claude_fable_5_1",
        "date": "2026-09-06T04:16:54.915747",
        "annotator": "Claude Fable 5.1 (OR)",
        "annotation_date": "2026-09-06T04:14:34.029059",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"For\" in \"For Mr. Pancks\" to produce \"For, Mr. Pancks\". The core punctuation change is identical. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change\u2014adding a comma after \"quickly\". Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2026-09-01",
    "release_source": "https://www.anthropic.com/claude/fable",
    "release_notes": "Successor to Claude Fable 5. Benchmark configuration uses high reasoning effort.",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit."
  },
  {
    "model_name": "Claude Haiku 4.5",
    "model_id": "claude-haiku-4.5",
    "date": "2026-03-08T11:24:08.442225",
    "shots": 2,
    "config": {
      "model_id": "claude-haiku-4.5",
      "display_name": "Claude Haiku 4.5",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-03-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Claude Haiku 4.5",
    "annotation_date": "2026-03-08T09:51:25.420270",
    "file_results": [
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:24:34.790759",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:51:25.420270",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day,",
            "corrected_text": "yonder, to-day,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma after \"yonder\" (\"yonder to-day\" \u2192 \"yonder, to-day\"). The prediction captures the same essential change by converting \"yonder to-day,\" to \"yonder, to-day,\"\u2014i.e., adding the comma after \"yonder.\" The extra trailing comma is present in both the predicted original and corrected text, so it does not alter the core edit being made. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same correction (\"pockets, and\"), capturing the identical core change: inserting a comma after \"pockets\". Line numbers are ignored as instructed, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:13:19.697139",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:35:31.410672",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day,",
            "corrected_text": "yonder, to-day,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"yonder\" (\"yonder to-day\" \u2192 \"yonder, to-day\"). The predicted change also inserts a comma after \"yonder\" (\"yonder to-day,\" \u2192 \"yonder, to-day,\"). Although the prediction includes an additional trailing comma in both the original and corrected text (extra surrounding context), the core intended punctuation correction\u2014adding the comma after \"yonder\"\u2014is captured correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth edit type.\n\nText Content Accuracy: The ground truth changes \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets.\" The predicted edit makes the identical change with the same original and corrected text. This captures the core intended correction precisely.\n\nLine numbers are ignored as instructed, and there are no other discrepancies."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:13:48.616953",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:54:05.071447",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder.\" The core intended punctuation change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and\". The original and corrected texts match the ground truth\u2019s intended punctuation change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:25:03.359476",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:51:58.369211",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "are\u2014\"He was going",
            "corrected_text": "are\u2014\"He was going",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "stones?\" She",
            "corrected_text": "stones?\" She",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"why did he dine to",
            "corrected_text": "\"why did he dine to",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:14:14.846536",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:36:04.526233",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "are\u2014\"He was going",
            "corrected_text": "are\u2014\"He was going",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "stones?\" She",
            "corrected_text": "stones?\" She",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"why did he dine to",
            "corrected_text": "\"why did he dine to",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:14:42.635638",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:54:37.962303",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "are\u2014\"He was going",
            "corrected_text": "are\u2014\"He was going",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "stones?\" She",
            "corrected_text": "stones?\" She",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"why did he dine to",
            "corrected_text": "\"why did he dine to",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:11:31.391075",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:52:32.145546",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "first",
            "corrected_text": "First",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:15:04.923293",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:36:36.682925",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "first",
            "corrected_text": "First",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:15:29.227216",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:55:09.739401",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:25:30.722997",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:53:06.302510",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said (comma)",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam in amazement",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "far straiter and narrower than the broad high-road paved with vain pro-",
            "corrected_text": "far straiter and narrower than the broad high-road paved with vain pro-",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:16:00.343424",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:37:10.751800",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said (comma)",
            "corrected_text": "said,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "high-road paved",
            "corrected_text": "high-road high-road paved",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,when",
            "corrected_text": "said, when",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:16:24.690768",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:55:44.920757",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,",
            "corrected_text": "said",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said (comma)",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "high-road paved",
            "corrected_text": "high-road high-road paved",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:26:00.969193",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:53:39.971248",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Sun and Shadow.",
            "corrected_text": "Sun and Shadow, Perioded here?",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:16:48.837245",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:37:41.758381",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Sun and Shadow.",
            "corrected_text": "Sun and Shadow, Peried here?",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:17:14.554982",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:56:16.886185",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Sun and Shadow.",
            "corrected_text": "Sun and Shadow, Perioded here?",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:12:30.673151",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:54:13.399252",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chalons lay a long",
            "corrected_text": "Chalons lay a long hyphen",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with wet",
            "corrected_text": "sodden with wet",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:17:38.057834",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:38:28.010529",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chalons lay a long",
            "corrected_text": "Chalons lay a long hyphen",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "sodden with",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:18:01.183187",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:56:49.604894",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chalons lay a long",
            "corrected_text": "Chalons lay a long hyphen",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with wet",
            "corrected_text": "sodden with wet",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:12:56.078846",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:54:47.735488",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:18:23.776644",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:39:00.534484",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:18:48.958947",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:57:25.502107",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:26:29.019740",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:55:15.643602",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Any line-number difference is to be ignored, so the intended edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change the same original string \"hers matters\" to the same corrected string \"hers, matters\", inserting a comma after \"hers\". This captures the core intended punctuation correction with no discrepancy in the text content.\n\nLine numbers are ignored as instructed, so the difference in line_number does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "abandoned the",
            "corrected_text": "abandoned the",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly, \"they",
            "corrected_text": "directly, \"They",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they",
            "corrected_text": "\"They",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:19:17.155220",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:39:34.895103",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core punctuation change (inserting a comma after \"hers\"). Ignoring line numbers as instructed, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction apply the same core change: inserting a comma after \"hers\" to change \"hers matters\" into \"hers, matters.\" The original and corrected text strings match exactly, so the essential edit is correctly captured.\n\nLine numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "peace\u2014or",
            "corrected_text": "peace\u2014or",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "which\u2014that",
            "corrected_text": "which\u2014that",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "abandoned",
            "corrected_text": "abandoned",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "married.\"",
            "corrected_text": "married.\"",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:19:46.380384",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:57:58.976344",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"hers and\" \u2192 \"hers, and\", inserting a comma after \"hers\". This captures the core intended change with no discrepancy in the edited text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the core intended change: insertion of a comma after \"hers\". Any discrepancy in line number is to be ignored per instructions.\n\nTherefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "peace\u2014or",
            "corrected_text": "peace\u2014or",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "which\u2014that",
            "corrected_text": "which\u2014that",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "they are to be married",
            "corrected_text": "They are to be married",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ago, because",
            "corrected_text": "ago, because",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:27:04.512573",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:55:55.784484",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "that once were",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Thank you,",
            "corrected_text": "Thank you",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore, and",
            "corrected_text": "shore, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:20:20.379601",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:40:08.518713",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "cheerful",
            "corrected_text": "cheerful",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "that once were",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Thank you,",
            "corrected_text": "Thank you",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore, and",
            "corrected_text": "shore, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:20:53.711093",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:58:26.086858",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore, and",
            "corrected_text": "shore, and",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "cheerful",
            "corrected_text": "cheerful",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that once",
            "corrected_text": "that once",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Thank you,",
            "corrected_text": "Thank you",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:27:53.235946",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:56:32.177454",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Chapter xxix .",
            "corrected_text": "Chapter xxix",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mrs. Flintwinch goes on Dreaming ,",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "THE house",
            "corrected_text": "THE house c (ccp)",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "liege",
            "corrected_text": "liege",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "luctant return of",
            "corrected_text": "luctant return of",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,at",
            "corrected_text": "existence, at",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it; to",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,when",
            "corrected_text": "motionless, when",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view, by",
            "corrected_text": "view, by",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence; is",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:21:43.755527",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:40:47.014408",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Chapter xxix .",
            "corrected_text": "Chapter xxix",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mrs. Flintwinch goes on Dreaming ,",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "THE house",
            "corrected_text": "THE house c (ccp)",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "lucant return",
            "corrected_text": "lucent return",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still; to",
            "corrected_text": "still; to",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "to",
            "corrected_text": "to <",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,at",
            "corrected_text": "existence, at",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it; to",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,when",
            "corrected_text": "motionless, when",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,by",
            "corrected_text": "view, by",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence; is",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "liege",
            "corrected_text": "liege",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:22:30.530646",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:59:02.578554",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Chapter xxix .",
            "corrected_text": "Chapter xxix",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mrs. Flintwinch goes on Dreaming ,",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "THE house",
            "corrected_text": "THE house c (cap)",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still; to",
            "corrected_text": "still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "to lucutant return of",
            "corrected_text": "lucutant return of",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,at",
            "corrected_text": "existence, at",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view, by",
            "corrected_text": "view, by",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence; is",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "liege",
            "corrected_text": "liege",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:28:25.250821",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:57:05.773668",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that boiling-over old Christian",
            "corrected_text": "that boiling-over old Christian",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 54,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:22:57.383797",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:41:19.505963",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that boiling-over old Christian",
            "corrected_text": "that boiling-over old Christian",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 54,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:23:24.765063",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:59:35.040250",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that boiling-over old Christian",
            "corrected_text": "that boiling-over old Christian",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T10:14:55.502718",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T09:57:39.913771",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "never and a faded check too",
            "corrected_text": "never and a faded check too",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:23:46.478162",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T10:41:52.458006",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "never and a faded check too",
            "corrected_text": "never and a faded check too",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-haiku-4.5",
        "date": "2026-03-08T11:24:08.442225",
        "annotator": "Claude Haiku 4.5",
        "annotation_date": "2026-03-08T11:00:08.523742",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "never and a faded check too",
            "corrected_text": "never and a faded check too",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2025-10-15",
    "release_source": "https://www.anthropic.com/claude/haiku",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit."
  },
  {
    "model_name": "Claude Opus 4.1",
    "model_id": "claude-opus-4.1",
    "date": "2026-03-08T11:26:00.381073",
    "shots": 2,
    "config": {
      "model_id": "claude-opus-4.1",
      "display_name": "Claude Opus 4.1",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-03-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Claude Opus 4.1",
    "annotation_date": "2026-03-08T09:51:46.626614",
    "file_results": [
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:24:37.559843",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:51:46.626614",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same corrected text (\"pockets, and\"), capturing the identical core change\u2014adding a comma after \"pockets\". No discrepancies in the intended modification are present."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "Fellow Travellers",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, sir",
            "corrected_text": "to-day, sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:13:21.678679",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:35:52.405749",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\nText Content Accuracy: Both specify the same original phrase (\"pockets and\") and the same correction (\"pockets, and\"), inserting a comma after \"pockets.\" This captures the core intended change precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "Fellow Travellers",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, sir",
            "corrected_text": "to-day, sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:13:53.880064",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:54:35.797777",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"pockets and\" to \"pockets, and\", inserting a comma after \"pockets\". The core punctuation change is identical in the predicted edit and matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "Fellow Travellers",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, sir",
            "corrected_text": "to-day, sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:25:04.441218",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:52:26.132280",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "he might blame her father, if he saw them; that he might think,",
            "corrected_text": "he might blame her father, if he saw them; that he might think, as a scar",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"Why did he dine today, and leave this little creature to the mercy of the cold stones?\"",
            "corrected_text": "\"Why did he dine today, and leave this little creature to the mercy of the cold stones?\" a reaction made",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:14:24.322640",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:36:31.981268",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "he might blame her father, if he saw them; that he might think,",
            "corrected_text": "he might blame her father, if he saw them; that he might think, as a scar",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"Why did he dine today, and leave this little creature to the mercy of the cold stones?\"",
            "corrected_text": "\"Why did he dine today, and leave this little creature to the mercy of the cold stones?\" a reaction made",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:14:53.934077",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:55:14.098953",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "he might blame her father, if he saw them; that he might think,",
            "corrected_text": "he might blame her father, if he saw them; that he might think, as a scar",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"Why did he dine today, and leave this little creature to the mercy of the cold stones?\"",
            "corrected_text": "\"Why did he dine today, and leave this little creature to the mercy of the cold stones?\" a reaction made",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:25:37.358864",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:53:03.920564",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 41,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"replacement\", so the edit type matches.\n\n2. Text Content Accuracy: The ground truth changes \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core intended substitution by replacing \"said\" with \"asked\". Although it omits the surrounding word \"Clennam\" from the original/corrected text fields, it still represents the essential correction accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do?",
            "corrected_text": "do?",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "If",
            "corrected_text": "If",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:15:29.568012",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:37:08.758806",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 41,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The prediction captures the core intended change (\"said\" \u2192 \"asked\"), even though it omits the surrounding context \"Clennam.\" Since additional context is optional and the essential substitution is correctly identified, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do?",
            "corrected_text": "do?",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "If he",
            "corrected_text": "cop If he",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:16:00.665799",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:55:54.524149",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 40,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The prediction replaces \"said\" \u2192 \"asked\" without including the trailing context (\"Clennam\"). Since the core intended change is the word substitution \"said\" to \"asked,\" and the prediction captures that essential modification, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do?",
            "corrected_text": "do?",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "If he",
            "corrected_text": "If he",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:26:19.697779",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:53:49.092625",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials\". Line number differences are ignored per instructions. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same change to insert a comma after \"earnestly\", converting \"earnestly telling\" to \"earnestly, telling\". The core punctuation change is identical. Line number differences are to be ignored, so this does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"said when\") and the same correction (\"said, when\"), capturing the identical core punctuation change (inserting a comma after \"said\"). Line numbers are to be ignored, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core correction: changing \"said\" to \"said,\" by adding a comma. The essential edit is identical, and line numbers are to be ignored.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 32,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: Both edits change the same phrase from \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". This captures the core intended punctuation correction exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well but",
            "corrected_text": "well; but",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her for",
            "corrected_text": "her, for",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "and said",
            "corrected_text": "and said, (comma)",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir couldn't",
            "corrected_text": "sir, couldn't",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "far straiter and narrower than the broad",
            "corrected_text": "far straiter and narrower than the broad high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:16:37.040738",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:37:52.203122",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the core intended change\u2014adding a comma after \"materials\". Therefore, the essential edit is accurately represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), inserting a comma after \"earnestly.\" The core change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when\". The original and corrected text segments match the ground truth\u2019s intended punctuation change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 32,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"Clennam in\") and the same correction (\"Clennam, in\"), capturing the core intended change of inserting a comma after \"Clennam\". Ignoring line numbers as instructed, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well but",
            "corrected_text": "well; but",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her for",
            "corrected_text": "her, for",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "what in",
            "corrected_text": "what, in",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "round and",
            "corrected_text": "round, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir couldn't",
            "corrected_text": "sir, couldn't",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "far straiter and narrower than the broad",
            "corrected_text": "far straiter and narrower than the broad high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "and said",
            "corrected_text": "and said, (comma)",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:17:17.408482",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:56:39.679669",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\", inserting a comma after \"materials\". This captures the core intended punctuation correction with identical original and corrected text. (Line numbers are ignored as instructed.)"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change: inserting a comma after \"earnestly\". Therefore, the prediction matches the ground truth's intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both specify the same core punctuation change: inserting a comma after \"said\" (\"said when\" \u2192 \"said, when\"). The original and corrected text match the ground truth\u2019s intended edit. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 32,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\" by inserting a comma after \"Clennam\". The core intended punctuation change is captured identically. Line number differences are to be ignored."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well but",
            "corrected_text": "well; but",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her for",
            "corrected_text": "her, for",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "what in",
            "corrected_text": "what, in",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "round and",
            "corrected_text": "round, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir couldn't",
            "corrected_text": "sir, couldn't",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "far straiter and narrower than the broad",
            "corrected_text": "far straiter and narrower than the broad high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "and said",
            "corrected_text": "and said, (comma)",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:26:46.186369",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:54:24.988968",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Chapter I.",
            "corrected_text": "Chapter I",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Sun and Shadow.",
            "corrected_text": "Sun and Shadow",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:17:44.896717",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:38:31.850871",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Chapter I.",
            "corrected_text": "Chapter I",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Sun and Shadow.",
            "corrected_text": "Sun and Shadow",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:18:14.523249",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:57:15.929080",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Chapter I.",
            "corrected_text": "Chapter I",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Sun and Shadow.",
            "corrected_text": "Sun and Shadow",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:27:23.795113",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:55:07.485280",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons lay a long",
            "corrected_text": "Chalons lay a long,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late, dull autumn night was closing in upon the river Sa\u00f4ne.",
            "corrected_text": "A late, dull autumn night was closing in upon the river Sa\u00f4ne.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heavy streak, occasionally made a little ragged by a row of poplar trees",
            "corrected_text": "heavy streak, occasionally made a little ragged by a row of poplar-trees, hyphen",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "One man slowly moving on towards Chalons was the only visible",
            "corrected_text": "One man, slowly moving on towards Chalons, was the only visible",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with wet;",
            "corrected_text": "sodden with wet,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:18:53.462082",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:39:14.015490",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Chalons",
            "corrected_text": "Ch\u00e2lons",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "lay a long heavy streak, occasionally made a little ragged by a row of poplar-trees",
            "corrected_text": "lay a long, hyphen heavy streak, occasionally made a little ragged by a row of poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late, dull autumn night was closing in upon the river Sa\u00f4ne.",
            "corrected_text": "A late, dull autumn night was closing in upon the river Sa\u00f4ne.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "One man slowly moving on towards Chalons was the only visible",
            "corrected_text": "One man, slowly moving on towards Ch\u00e2lons, was the only visible",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Chalons",
            "corrected_text": "Ch\u00e2lons",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with wet;",
            "corrected_text": "sodden, with wet;",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:19:35.262358",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:57:58.713518",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Chalons",
            "corrected_text": "Ch\u00e2lons",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late, dull autumn night was closing in upon the river Sa\u00f4ne.",
            "corrected_text": "A late, dull autumn night was closing in upon the river Sa\u00f4ne.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "lay a long heavy streak, occasionally made a little ragged by a row of poplar-trees",
            "corrected_text": "lay a long, heavy streak, occasionally made a little ragged by a row of poplar-trees, hyphen",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "One man slowly moving on towards Chalons",
            "corrected_text": "One man, slowly moving on towards Chalons,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Chalons",
            "corrected_text": "Ch\u00e2lons",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with wet;",
            "corrected_text": "sodden with wet;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:27:57.258994",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:55:57.097180",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "heart so much to its pain and trouble;",
            "corrected_text": "heart, so much to its pain and trouble;",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so this criterion is satisfied.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"heart\" and \"so\" (\"heart so\" \u2192 \"heart, so\"). The prediction makes the same core change within a longer span of surrounding text (\"heart so much...\" \u2192 \"heart, so much...\"). Including extra context is acceptable, and the essential punctuation correction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "at length said Clennam,",
            "corrected_text": "at length, said Clennam,",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction applies the same core punctuation change in a larger span of text (\"at length said Clennam,\" \u2192 \"at length, said Clennam,\"). Although it includes additional surrounding words, it correctly captures the essential intended edit: adding a comma after \"length\" before \"said.\""
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up into his face, with some hurried words to the effect that she",
            "corrected_text": "tially up into his face, with some hurried words to the effect that she indeed",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness), she gradually composed herself,",
            "corrected_text": "ness), she gradually composed herself",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thanked him from her heart (as she did,",
            "corrected_text": "thanked him from her heart (as, she did,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"That's well! I hope so;",
            "corrected_text": "\"That's well! I hope so, I hope so;",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:20:13.004337",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:39:59.837970",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "heart so much to its pain and trouble;",
            "corrected_text": "heart, so much to its pain and trouble;",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth indicates inserting a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The prediction applies the same core change within a longer span of surrounding text (\"heart so much to its pain and trouble;\" \u2192 \"heart, so much to its pain and trouble;\"). This correctly captures the essential punctuation correction (adding a comma after \"heart\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "at length said Clennam,",
            "corrected_text": "at length, said Clennam,",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates inserting a comma after the word \"length\" (\"length said\" \u2192 \"length, said\"). The prediction applies the same core punctuation change in a longer surrounding context (\"at length said Clennam,\" \u2192 \"at length, said Clennam,\"). Although it includes extra words, the essential edit\u2014adding a comma after \"length\" before \"said\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up into his face, with some hurried words to the effect that she",
            "corrected_text": "tially up into his face, with some hurried words to the effect that she indeed",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness), she gradually composed herself,",
            "corrected_text": "ness), she gradually composed herself",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thanked him from her heart (as she did,",
            "corrected_text": "thanked him from her heart (as, she did,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"That's well! I hope so;",
            "corrected_text": "\"That's well! I hope so, I hope so;",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:20:51.394975",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:58:37.910933",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "heart so much to its pain and trouble;",
            "corrected_text": "heart, so much to its pain and trouble;",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The predicted edit also inserts a comma after \"heart\" within a longer phrase (\"heart so much to its pain and trouble;\" \u2192 \"heart, so much to its pain and trouble;\"). This captures the same core punctuation correction, just with additional surrounding context, which is acceptable."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "at length said Clennam,",
            "corrected_text": "at length, said Clennam,",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma between \u201clength\u201d and \u201csaid\u201d (\"length said\" \u2192 \"length, said\"). The prediction performs the same core change, adding a comma after \u201clength\u201d in a longer surrounding phrase (\"at length said Clennam,\" \u2192 \"at length, said Clennam,\"). The extra context does not alter the essential correction, and the intended punctuation insertion is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up into his face, with some hurried words to the effect that she",
            "corrected_text": "tially up into his face, with some hurried words to the effect that she indeed",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness), she gradually composed herself,",
            "corrected_text": "ness), she gradually composed herself",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thanked him from her heart (as she did,",
            "corrected_text": "thanked him from her heart (as, she did,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"That's well! I hope so;",
            "corrected_text": "\"That's well! I hope so, I hope so;",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:28:29.695046",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:56:38.270683",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"hers matters\" to \"hers, matters\", inserting a comma after \"hers\". The core intended punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Line numbers are ignored as instructed, so this does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that\". The original and corrected text strings match the ground truth\u2019s intention exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "vigorous",
            "corrected_text": "vigorous",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly \"they",
            "corrected_text": "directly, \"They",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they",
            "corrected_text": "\"They",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said hesitating",
            "corrected_text": "said, hesitating",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:21:24.357088",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:40:42.474087",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same correction (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction make the same core change: inserting a comma after \"hers\" in the phrase \"hers matters,\" resulting in \"hers, matters.\" The original and corrected text strings match exactly, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". This captures the core intended correction precisely (line number differences are ignored as instructed)."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"beautiful that\" to \"beautiful, that,\" inserting a comma after \"beautiful.\" This captures the core intended punctuation correction with identical original and corrected text content.\n\nLine numbers are ignored as instructed, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "vigorous",
            "corrected_text": "vigorous",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly \"they",
            "corrected_text": "directly, \"They",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they",
            "corrected_text": "\"They",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said hesitating",
            "corrected_text": "said, hesitating",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:21:53.916763",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:59:17.348414",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"hers\" in \"hers matters\" to produce \"hers, matters\". The core punctuation correction is identical.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"moment with\" to \"moment, with\" by inserting a comma after \"moment\". The original and corrected text strings match the ground truth\u2019s core intended change exactly (ignoring line numbers as instructed)."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: Both specify the same core change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\", yielding \"beautiful, that\". The original_text and corrected_text match the ground truth\u2019s intended punctuation change.\n\nLine numbers are ignored as instructed, so the difference in line_number does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "vigorous",
            "corrected_text": "vigorous",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly \"they",
            "corrected_text": "directly, \"They",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they",
            "corrected_text": "\"They",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:29:01.231015",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:57:17.768813",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change \"shore and\" to \"shore, and\", inserting a comma after \"shore\". The core punctuation change is identical in original and corrected text.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "\"Thank you,\"",
            "corrected_text": "",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:22:25.858157",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:41:31.717234",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"shore and\" to \"shore, and\", inserting a comma after \"shore\". The core punctuation change is identical in original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "\"Thank you,\"",
            "corrected_text": "",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:22:54.024864",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:59:54.126372",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change of inserting a comma after \"shore\". Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you,",
            "corrected_text": "Thank you",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:30:02.591349",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:58:06.433302",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at the hour",
            "corrected_text": "existence, at the hour",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change within a longer span of surrounding text (\"existence at the hour\" \u2192 \"existence, at the hour\"), which correctly places the comma immediately after \"existence\". The additional context does not alter the essential correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "motionless when we were",
            "corrected_text": "motionless, when we were",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are labeled as a \"punctuation\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit adds the same comma after \"motionless\" within a longer span of surrounding text (\"motionless when we were\" \u2192 \"motionless, when we were\"). This includes extra context but preserves the core intended punctuation change. Therefore, the text content accurately captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "view by any larger",
            "corrected_text": "view, by any larger",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core punctuation change, adding a comma immediately after \"view\" within a longer span (\"view by any larger\" \u2192 \"view, by any larger\"). The extra surrounding words are acceptable context and do not alter the essential intended edit.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence is the infirmity",
            "corrected_text": "existence; is the infirmity",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation,\" and the predicted edit type is also \"punctuation,\" so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the punctuation immediately after the word \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction applies the same core change in context by placing a semicolon right after \"existence\" (\"existence is the infirmity\" \u2192 \"existence; is the infirmity\"). Although the prediction\u2019s original span omits the comma explicitly, it still captures the essential intended correction: a semicolon should appear after \"existence\" at that point in the sentence."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to be unable",
            "corrected_text": "stand-still, to be unable",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord and her",
            "corrected_text": "liege, lord and her",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "The house in the city",
            "corrected_text": "The house in the clear city",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring with its accompanying monotony,",
            "corrected_text": "to each recurring with its accompanying monotony,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:23:50.264800",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:42:17.291219",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at the hour",
            "corrected_text": "existence, at the hour",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change within a longer context span (\"existence at the hour\" \u2192 \"existence, at the hour\"), which still places the comma immediately after \"existence\". Including additional surrounding words is acceptable and does not alter the essential correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "motionless when we were",
            "corrected_text": "motionless, when we were",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change by inserting a comma immediately after \"motionless\" within a longer span (\"motionless when we were\" \u2192 \"motionless, when we were\"). Including extra surrounding context is acceptable, and the essential punctuation correction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "view by any larger",
            "corrected_text": "view, by any larger",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction adds the same comma after \"view\" within a longer phrase (\"view by any larger\" \u2192 \"view, by any larger\"). Although the prediction includes extra surrounding words, it correctly captures the core intended punctuation change: inserting a comma after \"view\"."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to be unable",
            "corrected_text": "stand-still, to be unable",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord and her",
            "corrected_text": "liege, lord and her",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "The house in the city",
            "corrected_text": "The house in the clear city",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring with its accompanying monotony,",
            "corrected_text": "to each recurring with its accompanying monotony,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is the infirmity",
            "corrected_text": "existence; is the infirmity",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:24:27.510619",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T11:00:40.177002",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction expands the span to include the following word (\"existence at\" \u2192 \"existence, at\"), but it still captures the same core correction: insertion of a comma immediately after \"existence.\" The added context does not alter the essential edit intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit changes \"motionless when\" \u2192 \"motionless, when\", which likewise inserts a comma immediately after \"motionless\". The extra surrounding word \"when\" is acceptable context and does not alter the core intended correction.\n\nTherefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds the same comma after \"view\" but includes extra surrounding context (\"view by\" \u2192 \"view, by\"). This still captures the essential intended correction: inserting a comma immediately after \"view\"."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it, to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still, to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege, lord",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "The house in the city",
            "corrected_text": "The house in the clear city",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring with its accompanying monotony, always the same reluctant return",
            "corrected_text": "each recurring with its accompanying monotony, always the same reluctant return to",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:30:30.074085",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:58:46.462298",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "italicize",
            "corrected_text": "italicize",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bubbling out of him",
            "corrected_text": "bubbling out of him",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:24:43.460175",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:42:55.000223",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"of the dryest snorts.\") and the same corrected text (\"of the driest of snorts.\"), capturing the identical core change (spelling correction dryest\u2192driest and insertion of \"of\"). Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Italicize",
            "corrected_text": "Italicize",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:25:09.277564",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T11:01:18.861592",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "the boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Italicize",
            "corrected_text": "Italicize",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T10:30:55.100098",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T09:59:37.387917",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"For\" in the phrase \"For Mr. Pancks\" to make it \"For, Mr. Pancks\". The original_text and corrected_text match the ground truth exactly, capturing the core intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core punctuation change is identical.\n\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam of course",
            "corrected_text": "Clennam, of course,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time but",
            "corrected_text": "time; but",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "never and",
            "corrected_text": "never, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur for",
            "corrected_text": "Arthur, for",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "visit but",
            "corrected_text": "visit; but",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur returned",
            "corrected_text": "Arthur,\" returned",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Finching pray",
            "corrected_text": "Finching, \"pray",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still tis",
            "corrected_text": "still 'tis",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and if",
            "corrected_text": "and, if",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view but",
            "corrected_text": "view, but",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time but",
            "corrected_text": "time, but",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cucumber and",
            "corrected_text": "Cucumber, and",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:25:35.459381",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T10:43:41.931551",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the edit type matches exactly.\n2. Text Content Accuracy: Both edits change \"For Mr. Pancks\" to \"For, Mr. Pancks\", inserting a comma after \"For\". The core punctuation change is identical, with no discrepancies in original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change, inserting a comma after \"quickly\" (\"quickly that\" \u2192 \"quickly, that\"). The core intended punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "morning and",
            "corrected_text": "morning, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Rugg from",
            "corrected_text": "Rugg, from",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "back and",
            "corrected_text": "back, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam of course",
            "corrected_text": "Clennam, of course,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time but",
            "corrected_text": "time, but",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "word and",
            "corrected_text": "word, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur for",
            "corrected_text": "Arthur, for",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "visit but",
            "corrected_text": "visit, but",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Finching pray",
            "corrected_text": "Finching, pray",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that and",
            "corrected_text": "that, and",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view but",
            "corrected_text": "view, but",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time but",
            "corrected_text": "time, but",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-opus-4.1",
        "date": "2026-03-08T11:26:00.381073",
        "annotator": "Claude Opus 4.1",
        "annotation_date": "2026-03-08T11:02:01.773145",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"For Mr. Pancks\") and the same corrected text (\"For, Mr. Pancks\"), capturing the identical core change\u2014adding a comma after \"For\". Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original span (\"quickly that\") and the same correction (inserting a comma: \"quickly, that\"). The core intended change\u2014adding a comma after \"quickly\"\u2014is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam of course",
            "corrected_text": "Clennam, of course,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time but",
            "corrected_text": "time; but",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "never and",
            "corrected_text": "never, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur for",
            "corrected_text": "Arthur, for",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Finching pray",
            "corrected_text": "Finching, pray",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and if",
            "corrected_text": "and, if",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view but",
            "corrected_text": "view, but",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time but",
            "corrected_text": "time, but",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2025-08-05",
    "release_source": "https://www.anthropic.com/news/claude-opus-4-1",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit."
  },
  {
    "model_name": "Claude Opus 4.5",
    "model_id": "claude-opus-4.5",
    "date": "2026-03-08T11:27:19.059572",
    "shots": 2,
    "config": {
      "model_id": "claude-opus-4.5",
      "display_name": "Claude Opus 4.5",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-03-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Claude Opus 4.5",
    "annotation_date": "2026-03-08T10:00:53.304193",
    "file_results": [
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:24:37.028652",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:00:53.304193",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the core intended change of inserting a comma after \"howling\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same correction (inserting a comma after \"yonder\" to make \"yonder, to-day\"). The core change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same corrected text (\"pockets, and\"), capturing the core intended change: inserting a comma after \"pockets\". Line numbers are ignored per instructions, so this does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:13:23.850141",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:44:43.747902",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change: inserting a comma after \"howling\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), inserting a comma after \"yonder\". The core change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and\". The original_text and corrected_text match the ground truth\u2019s intention. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:13:57.525569",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:03:03.376380",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"howling\" in the phrase \"howling over\", resulting in \"howling, over\". The original_text and corrected_text match the ground truth precisely, capturing the core intended punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change: insertion of a comma after \"yonder.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same corrected text (\"pockets, and\"), capturing the identical core change: inserting a comma after \"pockets.\" Line number differences are to be ignored, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:25:09.013124",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:01:36.026922",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "\"No sir",
            "corrected_text": "\"No, sir",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"No\" and \"sir\" (\"No sir\" \u2192 \"No, sir\"). The predicted edit also inserts that same comma (\"\\\"No sir\" \u2192 \"\\\"No, sir\"). Although the prediction includes an additional leading quotation mark as extra context, it preserves the same core punctuation correction intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"why",
            "corrected_text": "\"Why",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones!\"",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:14:30.739920",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:45:20.681092",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "\"No sir",
            "corrected_text": "\"No, sir",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"No\" in \"No sir\" \u2192 \"No, sir.\" The prediction captures the same core punctuation change, adding the comma after \"No\" as well. Although the prediction includes an additional leading quotation mark as extra context (\"No sir \u2192 \"No, sir), this does not alter the essential intended correction (the comma insertion). Therefore, the text content aligns with the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "'why",
            "corrected_text": "'Why",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones!'",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:15:03.931958",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:03:43.350958",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "\"No sir",
            "corrected_text": "\"No, sir",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"No\" in \"No sir\" \u2192 \"No, sir\". The prediction performs the same core punctuation change, but includes an additional leading quotation mark as context: \"No sir \u2192 \"No, sir. This still captures the essential intended edit (comma insertion after \"No\").\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"why",
            "corrected_text": "\"Why",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:25:41.548248",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:02:12.111770",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the type matches.\n\n2) Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\", whose core correction is replacing the word \"said\" with \"asked\". The prediction captures this essential change by replacing \"said\" with \"asked\" (even though it includes less surrounding context). Since the key intended substitution is correctly represented, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "do? If he",
            "corrected_text": "do? I can't help it. If he",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:15:32.393952",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:45:54.514134",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth intends to change the verb \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core substitution \"said\" \u2192 \"asked\" and simply omits the surrounding context (\"Clennam\"), which remains unchanged in the ground truth. Since the essential change is correctly identified, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "do? If",
            "corrected_text": "do? I can, if",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:16:06.276136",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:04:18.531133",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit, so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\", whose core intended modification is the word substitution \"said\" \u2192 \"asked\". The predicted edit captures this essential change by replacing \"said\" with \"asked\" (with less surrounding context). Omitting \"Clennam\" does not alter the core correction being made, so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "do? If he",
            "corrected_text": "do? I can't help it. If he",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:26:24.127908",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:02:52.410201",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"high road\") and the same corrected text (\"high-road\"), capturing the identical core change of inserting a hyphen. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials\". This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"about and\" \u2192 \"about, and\", inserting a comma after \"about\". This captures the core intended change with identical original and corrected text. Line numbers are to be ignored, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: The ground truth changes \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". The prediction makes the exact same change from the same original text to the same corrected text. This captures the core intended punctuation correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core punctuation change, inserting a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when.\" This captures the essential intended correction with no discrepancy in the modified text.\n\nLine numbers are ignored as instructed, so the prediction correctly reflects the ground truth edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 28,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"Clennam in\") and the same corrected_text (\"Clennam, in\"), capturing the identical core change: inserting a comma after \"Clennam\". Ignoring line numbers, the predicted edit fully matches the ground truth intent."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:16:45.968363",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:46:33.467013",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road,\" correctly capturing the core intended change (adding a hyphen). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"about and\") and the same corrected_text (\"about, and\"), capturing the identical core change\u2014adding a comma after \"about\". Line numbers are ignored as instructed. Therefore, the prediction matches the ground truth's intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". This captures the core intended punctuation change with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"said when\" and the same corrected text \"said, when\", capturing the identical core change (inserting a comma after \"said\"). Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 28,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both ground truth and prediction change \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". The core punctuation change is identical, so the text content matches the ground truth intention. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:17:28.101573",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:04:58.683030",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"high road\" to \"high-road\", capturing the identical core correction (inserting a hyphen). No discrepancy in original or corrected text content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing,\" inserting a comma after \"materials.\" The core punctuation change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original phrase \"about and\" and the same correction \"about, and\", capturing the identical core punctuation change (inserting a comma after \"about\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction apply the same core change: inserting a comma after \"earnestly\" in the phrase \"earnestly telling\" to produce \"earnestly, telling.\" The original and corrected text strings match exactly, so the essential edit is correctly captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"said when\" \u2192 \"said, when\", inserting a comma after \"said\". This captures the core intended punctuation change with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 28,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the core intended change of inserting a comma after \"Clennam\". Line number differences are irrelevant per instructions."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:26:49.094965",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:03:28.416534",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:18:02.144546",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:47:06.497309",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:18:32.127249",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:05:39.220761",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:27:36.556014",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:04:08.481256",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change\u2014adding a period to \"Let Loose\" to make it \"Let Loose.\" The original and corrected text strings match the ground truth intention precisely.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change\u2014adding a comma after \"dull\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"man slowly\" to \"man, slowly\", inserting a comma after \"man\". The core intended punctuation correction is captured identically. Therefore, the predicted edit matches the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change of inserting a comma after \"Chalons\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "sodden-ed with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:19:19.174282",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:47:44.724915",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have the type \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"Let Loose\" to \"Let Loose.\" (adding a period). The core punctuation correction is captured identically. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"Chalons was\" \u2192 \"Chalons, was\", i.e., inserting a comma after \"Chalons\". The core punctuation change is identical in the predicted edit and the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "sodden-ed with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:20:05.021389",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:06:34.756683",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change, adding a period: \"Let Loose\" \u2192 \"Let Loose.\". There is no discrepancy in original or corrected text content. Therefore the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Chalons was\" to \"Chalons, was\" by inserting a comma after \"Chalons\". The core punctuation change is identical, with no discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "sodden-ed with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:28:10.860090",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:04:49.645918",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"heart so\" to \"heart, so,\" correctly capturing the insertion of a comma after \"heart\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction does the same core punctuation insertion, but includes additional preceding context (\"at length said\" \u2192 \"at length, said\"). This captures the essential intended change (adding the comma after \"length\")."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 33,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (present tense to past tense). Any difference in line number is to be ignored per instructions, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestness) she",
            "corrected_text": "earnestness), she",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "(as she did if",
            "corrected_text": "(as she did, if",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:20:48.491631",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:48:20.766192",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original segment (\"heart so\") and the same correction (\"heart, so\"), capturing the identical core change of inserting a comma after \"heart\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 33,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core punctuation change, inserting a comma after \"length\" (\"at length said\" \u2192 \"at length, said\"). The extra surrounding context word \"at\" does not alter the essential correction. Therefore, the predicted edit captures the ground truth\u2019s intended change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 36,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"I hope so\" with \"I hoped so\". This captures the same core change (tense shift from present to past). Line numbers are ignored as instructed, and there is no discrepancy in the text change itself."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "(as she",
            "corrected_text": "(as, she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestness)",
            "corrected_text": "earnestness),",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as she did, if it be the source of earnestness)",
            "corrected_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as indeed she did, if it be the source of earnestness),",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:21:24.623914",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:07:19.326521",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"heart so\") and the same corrected text (\"heart, so\"), capturing the identical core change\u2014adding a comma after \"heart\". Therefore, the prediction matches the ground truth\u2019s intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma so that \"length said\" becomes \"length, said.\" The original_text and corrected_text match the ground truth\u2019s intended punctuation change. Line number differences are to be ignored, so the prediction captures the ground truth edit correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 33,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the exact same phrase \"I hope so\" with \"I hoped so\". This captures the core intended change (tense shift from present to past) with no discrepancy in original or corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "(as'she",
            "corrected_text": "(as she",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestness) she",
            "corrected_text": "earnestness), she",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "tially",
            "corrected_text": "indeed",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:28:46.220404",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:05:27.965754",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core punctuation change, inserting a comma after \"hers\" in the phrase \"hers and\" to make it \"hers, and\". The original_text and corrected_text match the ground truth\u2019s intended change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change: inserting a comma after \"hers\". Line numbers are ignored as instructed. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change: insertion of a comma after \"moment\". Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same corrected text (\"beautiful, that\"), capturing the identical core change\u2014adding a comma after \"beautiful\". Line numbers are ignored as instructed, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they",
            "corrected_text": "\"They",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:21:54.733672",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:48:57.927062",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change: insertion of a comma after \"hers\". Line numbers are ignored as instructed. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change the phrase from \"hers matters\" to \"hers, matters\", inserting a comma after \"hers\". The original_text and corrected_text match the ground truth\u2019s intended core change exactly.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"beautiful that\" to \"beautiful, that,\" inserting a comma after \"beautiful.\" This captures the identical core correction. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:22:30.935857",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:08:02.518865",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers.\" Line numbers are to be ignored, so the difference there does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change: insertion of a comma after \"hers\". Any line-number discrepancy is to be ignored. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change: insertion of a comma after \"moment\". Line number differences are to be ignored, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same correction (\"beautiful, that\"), inserting a comma after \"beautiful\". This captures the core intended change precisely. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they",
            "corrected_text": "\"They",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:29:20.613049",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:06:09.203508",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change, inserting a comma to change \"shore and\" to \"shore, and\". The original and corrected text content are identical between ground truth and prediction. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2. Text Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". This captures the same core change intended by the ground truth, with no discrepancy in the actual substitution."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you\"",
            "corrected_text": "you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the moonlight",
            "corrected_text": "the moonlight",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:23:03.617181",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:49:36.074961",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change (inserting a comma after \"shore\"). Ignoring line numbers, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\nText Content Accuracy: Both specify replacing the original text \"that\" with the corrected text \"than.\" This captures the same core intended correction. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you\"",
            "corrected_text": "you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the moonlight",
            "corrected_text": "the moonlight",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:23:36.604671",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:08:47.406166",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change, inserting a comma after \"shore\" in the phrase \"shore and\" to make it \"shore, and\". The original_text and corrected_text match the ground truth\u2019s intended edit. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"that\" with \"than\", capturing the same core correction. Ignoring line numbers as instructed, the predicted edit matches the ground truth\u2019s intended change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you\"",
            "corrected_text": "you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the moonlight",
            "corrected_text": "the moonlight",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:29:58.640075",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:06:50.727845",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction also inserts a comma immediately after \"existence\" (\"existence at\" \u2192 \"existence, at\"). Although the prediction includes the following word \"at\" as additional context, it captures the same core punctuation change at the correct location.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change, adding a comma immediately after \"motionless\" in the larger phrase (\"motionless when\" \u2192 \"motionless, when\"). Including the extra surrounding word \"when\" is acceptable context, and the essential punctuation correction is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to add a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction adds the comma after \"view\" as well, shown with extra surrounding context (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation insertion intended by the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "return of",
            "corrected_text": "return, of",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them;",
            "corrected_text": "with them,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it, to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still, to",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the city",
            "corrected_text": "the c(car) city",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:24:16.424531",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:50:19.372031",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core punctuation change within a slightly larger span of text (\"existence at\" \u2192 \"existence, at\"). This correctly captures the essential intention: inserting a comma immediately after \"existence\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction also inserts a comma immediately after \"motionless\" (\"motionless when\" \u2192 \"motionless, when\"). The prediction includes additional surrounding context (the following word \"when\"), but it captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit also adds a comma immediately after \"view\" while including extra surrounding context (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "return of",
            "corrected_text": "return, of",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them;",
            "corrected_text": "with them,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it, to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still, to",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the city",
            "corrected_text": "the C(car) city",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:25:17.994649",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:09:33.052698",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both edits change the same token from \"them,\" to \"them;\". This captures the core intended punctuation correction precisely. Line numbers are ignored as instructed, and there is no discrepancy in the actual text change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, inserting a comma immediately after \"existence\" within a larger context (\"existence at\" \u2192 \"existence, at\"). Including the following word \"at\" as context does not alter the essential edit. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "it, to",
            "corrected_text": "it; to",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"it,\" to \"it;\" (comma to semicolon after \"it\"). The predicted edit changes \"it, to\" to \"it; to,\" which includes additional surrounding context (the word \"to\") but preserves the same core punctuation change at the same location (comma after \"it\" replaced with a semicolon). Therefore, the prediction captures the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change, adding a comma immediately after \"motionless\" within a larger phrase (\"motionless when\" \u2192 \"motionless, when\"). Including the following word \"when\" is extra context but does not alter the essential punctuation edit. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "stand-still, to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction performs the same core change, simply including additional following context (\"stand-still, to\" \u2192 \"stand-still; to\"). This preserves the essential intended correction (comma replaced by semicolon at the same location), so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core punctuation change by inserting a comma immediately after \"view\" within a larger context (\"view by\" \u2192 \"view, by\"). The added context does not alter the essential edit; it still captures the intended insertion of a comma after \"view\"."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence, is",
            "corrected_text": "existence; is",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the punctuation after \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction applies the same core punctuation change, simply including extra surrounding context (\"existence, is\" \u2192 \"existence; is\"). This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "gity",
            "corrected_text": "city",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return pf",
            "corrected_text": "return of",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each",
            "corrected_text": "to each",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liegelord",
            "corrected_text": "liege lord",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:30:43.866062",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:07:28.737995",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" so the phrase becomes \"driest of snorts\" (within the larger context \"of the ... snorts.\"). The predicted edit also changes \"dryest snorts\" to \"driest of snorts,\" capturing the same essential correction (spelling change plus insertion of \"of\"). Although the prediction omits surrounding context (\"of the\" and the final period), it still accurately captures the core intended change.\n\nTherefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him,",
            "corrected_text": "him,",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"italicize,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth indicates italicizing the word \"him.\" The prediction applies italicization to \"him,\" but includes an adjacent comma (\"him,\"). This is additional context rather than a different core change\u2014the essential intent (italicize \"him\") is still captured. Including the comma does not contradict the ground truth\u2019s intended italicization of the word itself."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as a \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: Both indicate the same substitution of \"authorize\" with \"authorise\". The core change (American to British spelling) is identical in original and corrected text.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that-boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty; sticking",
            "corrected_text": "twenty, sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:25:52.694656",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:50:58.560167",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit also changes \"dryest\" \u2192 \"driest\" and produces \"driest of snorts\", capturing the same core correction. The prediction omits surrounding context (\"of the\" and the final period), but those elements are not part of the actual change in the ground truth and are permissible to omit. Therefore, the prediction matches the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2. Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\". This captures the core intended correction (American to British spelling). Ignoring line numbers as instructed, the essential edit is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that, boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty:",
            "corrected_text": "twenty;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Your own recompense",
            "corrected_text": "Your own recompense",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him",
            "corrected_text": "him,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:26:26.139957",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:10:17.002916",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"dryest snorts\" to \"driest of snorts\" within the larger phrase \"of the dryest snorts.\" \u2192 \"of the driest of snorts.\" The prediction captures the same core correction: correcting the spelling \"dryest\" \u2192 \"driest\" and inserting \"of\" before \"snorts\". The prediction omits surrounding context (\"of the\" and the final period), but those elements are not part of the intended change and are allowed to be excluded as long as the essential edit is preserved.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that, boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty:",
            "corrected_text": "twenty;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T10:31:10.127654",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:08:05.581450",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change at the correct location."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", i.e., inserting a comma after \"quickly\". The core change is identical. Therefore the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me; not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:26:51.800298",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T10:51:33.444576",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"For Mr. Pancks\" to \"For, Mr. Pancks\", i.e., it inserts a comma after \"For\". The prediction changes \"For Mr.\" to \"For, Mr.\", which also inserts a comma after \"For\". Although the prediction includes less surrounding context (it stops at \"Mr.\" and omits \"Pancks\"), it still captures the core intended punctuation change at the correct location. Therefore, the essential edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original phrase \"quickly that\" and the same correction \"quickly, that\", inserting a comma after \"quickly\". The essential punctuation change is identical. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me; not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-opus-4.5",
        "date": "2026-03-08T11:27:19.059572",
        "annotator": "Claude Opus 4.5",
        "annotation_date": "2026-03-08T11:10:57.924630",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The prediction captures the same core punctuation change by editing \"For Mr.\" \u2192 \"For, Mr.\". Although it omits the trailing context (\"Pancks\"), it still correctly represents the essential intended edit: adding a comma immediately after \"For\" before \"Mr.\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the identical change from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core correction is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me; not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2025-11-01",
    "release_display": "Nov 2025",
    "release_source": "https://www.anthropic.com/transparency",
    "release_notes": "Official Anthropic source used here lists November 2025 but not an exact day.",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit."
  },
  {
    "model_name": "Claude Opus 4.6",
    "model_id": "claude-opus-4.6",
    "date": "2026-03-08T11:26:43.285854",
    "shots": 2,
    "config": {
      "model_id": "claude-opus-4.6",
      "display_name": "Claude Opus 4.6",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-03-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Claude Opus 4.6",
    "annotation_date": "2026-03-08T10:01:47.915199",
    "file_results": [
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:24:42.349414",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:01:47.915199",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change the phrase from \"howling over\" to \"howling, over,\" inserting a comma after \"howling.\" The original and corrected text match exactly, capturing the core intended punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change\u2014adding a comma after \"yonder\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same corrected text (\"pockets, and\"), capturing the identical core punctuation change (inserting a comma after \"pockets\"). Line numbers are ignored per instructions, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir;",
            "corrected_text": "sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:13:26.236030",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:45:39.761806",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"yonder to-day\" to \"yonder, to-day\", inserting a comma after \"yonder\". The original and corrected texts match exactly, capturing the core intended punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same correction (\"pockets, and\"), capturing the intended insertion of a comma after \"pockets\". Therefore the core change matches the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir;",
            "corrected_text": "sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:14:01.548836",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:04:00.358344",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over,\" inserting a comma after \"howling.\" This captures the core intended punctuation change with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction apply the same core punctuation change, inserting a comma after \"yonder\" to change \"yonder to-day\" to \"yonder, to-day.\" There are no differences in original or corrected text that would alter the intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"pockets and\") and the same correction (\"pockets, and\"), capturing the identical core change of inserting a comma after \"pockets.\" Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir;",
            "corrected_text": "sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:25:15.559069",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:02:26.583586",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "cold stones!\" She",
            "corrected_text": "cold stones?\" She",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the types match exactly.\n\n2. Text Content Accuracy: The ground truth changes the punctuation in \"cold stones!\" to \"cold stones?\" (exclamation mark to question mark). The predicted edit changes \"cold stones!\\\" She\" to \"cold stones?\\\" She\", which includes extra surrounding context but preserves the same core change: replacing the exclamation mark after \"cold stones\" with a question mark. This captures the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"Why did he dine to-",
            "corrected_text": "\"why did he dine to-",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No, sir, i have",
            "corrected_text": "No, sir, I have",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:14:43.554053",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:46:16.784521",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "\"why did he dine to-",
            "corrected_text": "\"Why did he dine to-",
            "observed_line_number": 29,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the initial word \"why\" to \"Why\" in the phrase \"why did he dine\". The prediction likewise changes \"why\" to \"Why\" (\"\\\"why did he dine to-\" \u2192 \"\\\"Why did he dine to-\"). Although the prediction includes additional surrounding context (a leading quotation mark and the following \"to-\"), it captures the same core capitalization change identified in the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "cold stones!\" She",
            "corrected_text": "cold stones?\" She",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The core change in the ground truth is replacing the exclamation mark with a question mark in \"cold stones!\" \u2192 \"cold stones?\". The prediction performs the same essential punctuation substitution, just with additional surrounding context (\"\\\" She\"). This extra context does not alter the intended edit, and the key change (! \u2192 ?) is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No, sir, i have",
            "corrected_text": "No, sir, I have",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:15:23.384500",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:04:37.731041",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "\"why did he dine",
            "corrected_text": "\"Why did he dine",
            "observed_line_number": 29,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"capitalization\", which matches the ground truth exactly.\n\n2. Text Content Accuracy: The ground truth change is capitalizing the initial \"why\" \u2192 \"Why\" in the phrase \"why did he dine\". The prediction captures the same core change, but includes an opening quotation mark as additional surrounding context (\"\\\"why did he dine\" \u2192 \"\\\"Why did he dine\"). This extra context does not alter the essential intended correction (capitalizing the first word), so the text-content intention matches."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "cold stones!\" She",
            "corrected_text": "cold stones?\" She",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the punctuation in \"cold stones!\" to \"cold stones?\" (exclamation mark to question mark). The prediction makes the same core change within a slightly longer context: \"cold stones!\\\" She\" \u2192 \"cold stones?\\\" She\". Including extra surrounding characters (the closing quote and following word) does not alter the essential intent. The key punctuation change is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No, sir, i have",
            "corrected_text": "No, sir, I have",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:25:44.489782",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:03:03.037732",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces the word \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The prediction captures the same core substitution \"said\" \u2192 \"asked\" even though it omits the surrounding context (\"Clennam\"). Since the essential intended change is the replacement of \"said\" with \"asked,\" the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "If",
            "corrected_text": "I cap If",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:15:54.682578",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:46:51.950986",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are \"replacement\" edits, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said\" to \"asked\" (within the phrase \"said Clennam\" \u2192 \"asked Clennam\"). The prediction captures the same core substitution \"said\" \u2192 \"asked\" but with less surrounding context. Since the essential change is identical and additional context is optional, the prediction matches the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "If",
            "corrected_text": "I cap If",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:16:25.862934",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:05:16.433379",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core change by replacing \"said\" \u2192 \"asked\". Although it omits the surrounding context word \"Clennam,\" it still represents the essential intended substitution identified in the ground truth.\n\nBecause both the edit type and the essential text change match the ground truth\u2019s intention, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "If",
            "corrected_text": "I cap If",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:26:34.105764",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:03:42.893307",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials\". The core punctuation change is identical. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"about\" in the phrase \"about and\" to make it \"about, and\". The core correction is identical. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". This captures the core intended punctuation change with identical original and corrected text. Therefore, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"said when\") and the same corrected text (\"said, when\"), capturing the core intended change of inserting a comma after \"said\". Any line-number discrepancy is ignored per instructions.\n\nTherefore, the predicted edit correctly matches the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". The core change is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said:",
            "corrected_text": "and said, (comma)",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:17:08.752813",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:47:30.618594",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edit have the type set to \"punctuation\", so the edit type matches exactly.\n\n2. Text Content Accuracy: Both specify the same change from \"materials costing\" to \"materials, costing\", inserting a comma after \"materials\". The core punctuation correction is identical in original and corrected text.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma to change \"about and\" to \"about, and\". The original and corrected text strings align with the ground truth\u2019s intended punctuation correction.\nTherefore, the predicted edit correctly captures the ground truth intention (ignoring line numbers as instructed)."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change: inserting a comma after \"earnestly\". Any line-number discrepancy is to be ignored, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original segment \"said when\" and the same corrected segment \"said, when\", capturing the identical core change (inserting a comma after \"said\"). Any difference in line number is to be ignored per instructions, so the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". This captures the core intended punctuation change with identical original and corrected text."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said:",
            "corrected_text": "and said, (comma)",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:17:51.659380",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:06:02.545475",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials.\" The core punctuation change is identical, so the intended correction is accurately captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both specify the same core change: inserting a comma to change \"about and\" to \"about, and\". The original and corrected text strings match the ground truth\u2019s intended correction. Line number differences are to be ignored, so this does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change: insertion of a comma after \"earnestly\". Therefore, the intended edit is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits apply the same core correction\u2014adding a comma after \"said\" in the phrase \"said when\" to produce \"said, when\". The original and corrected text strings match the ground truth\u2019s intended change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\" by inserting a comma after \"Clennam\". The original and corrected text match the ground truth exactly, capturing the core punctuation change."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said:",
            "corrected_text": "and said, (comma)",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:12:44.900459",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:04:17.761153",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow.",
            "corrected_text": "Shadow. Period here?",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:18:16.628062",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:48:05.864223",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow.",
            "corrected_text": "Shadow. Period here?",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:18:39.873291",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:06:50.479004",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow.",
            "corrected_text": "Shadow. Period here?",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:27:22.620901",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:04:56.891955",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Let Loose\" to \"Let Loose.\" by adding a period at the end. The core intended punctuation change is captured exactly with matching original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"Chalons was\") and the same correction (\"Chalons, was\"), inserting a comma after \"Chalons\". This captures the core intended change precisely. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees,",
            "corrected_text": "poplar-trees, hyphen",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "sodden-ed with",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:19:20.308930",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:48:44.156283",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change\u2014adding a comma after \"Chalons\" in the phrase \"Chalons was\" to make it \"Chalons, was\". This captures the essential intended correction. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees hyphen",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "sodden'ed with",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:19:58.804011",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:07:34.002395",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same core punctuation insertion, changing \"Chalons was\" to \"Chalons, was\" (inserting a comma after \"Chalons\"). This captures the essential intended edit exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees hyphen",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "sodden'd with",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:27:51.999728",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:05:36.827813",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The original and corrected text match exactly, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\nText Content Accuracy: Both edits replace the same original text \"I hope so\" with the same corrected text \"I hoped so\". The core change (shifting verb tense from present to past) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as",
            "corrected_text": "indeed thanked him from her heart (as",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness), she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length, said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:20:32.317312",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:49:22.481538",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core intended punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change from present to past tense. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as",
            "corrected_text": "indeed thanked him from her heart (as",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness), she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length, said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:21:03.593164",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:08:19.549963",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"heart so\") and the same corrected text (\"heart, so\"), inserting a comma after \"heart\". The core change is identical, with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"). The core intended change\u2014shifting from present tense \"hope\" to past tense \"hoped\"\u2014is captured identically. Therefore, the prediction matches the ground truth edit intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as",
            "corrected_text": "indeed thanked him from her heart (as",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness), she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length, said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:28:18.994398",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:06:18.285234",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 16,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change of inserting a comma after \"hers\". Line numbers are ignored, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they",
            "corrected_text": "\"They",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:21:39.994749",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:49:59.457083",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"hers and\" to \"hers, and\", inserting a comma after \"hers\". This captures the core intended punctuation correction with identical original and corrected text segments. Line numbers are irrelevant per instructions."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change (inserting a comma after \"hers\"). Line number differences are to be ignored, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: Both specify the same core change: inserting a comma after \"moment\" in the phrase \"moment with\", resulting in \"moment, with\". The original_text and corrected_text match the ground truth\u2019s intended punctuation change.\n\nLine numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\" to make it \"beautiful, that\". The original and corrected text strings match the ground truth\u2019s intended punctuation change.\nLine numbers are ignored, so the difference in line_number does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "\"they",
            "corrected_text": "\"They",
            "observed_line_number": 35,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing \u201cthey\u201d to \u201cThey.\u201d The prediction applies the same capitalization change but includes an additional leading quotation mark in both the original and corrected text (\"they \u2192 \"They). This extra context does not alter the core intended correction (lowercase t \u2192 uppercase T on \u201cthey\u201d). Therefore, the prediction captures the essential edit accurately."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:22:09.846487",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:09:01.299329",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 16,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change of inserting a comma after \"hers\". Ignoring line numbers, the predicted edit matches the ground truth intention exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the core intended change of inserting a comma after \"hers\". Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"they",
            "corrected_text": "\"They",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:28:53.863177",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:06:56.189924",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same core change, inserting a comma after \"shore\" so that \"shore and\" becomes \"shore, and\". Ignoring line numbers as instructed, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: Both edits replace \"that\" with \"than\". This captures the same core correction identified in the ground truth. Line number differences are ignored per instructions.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "you!\"",
            "corrected_text": "you,\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:22:44.883255",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:50:36.692642",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as a \"replacement\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing \"that\" with \"than\". No discrepancy in original or corrected text content. Line number difference is ignored per instructions."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you!\"",
            "corrected_text": "you,\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:23:23.402985",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:09:45.296098",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"shore\" in the phrase \"shore and\" \u2192 \"shore, and\". The prediction does the same core change, adding a comma after \"shore\" in a slightly longer context: \"the shore and\" \u2192 \"the shore, and\". This additional surrounding word (\"the\") does not alter the essential correction. Therefore, the predicted edit correctly captures the intended punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"that\" to \"than\". The prediction changes \"that once\" to \"than once\", which includes extra surrounding context but preserves the same core correction (\"that\" \u2192 \"than\") in the intended location. Therefore, the essential change is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!\"",
            "corrected_text": "Thank you,\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the moonlight, the",
            "corrected_text": "the moonlight the",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:29:38.337748",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:07:38.489313",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted change adds a comma after \"existence\" as well, shown with added surrounding context (\"existence at\" \u2192 \"existence, at\"). This captures the same core punctuation correction intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core punctuation change, inserting a comma immediately after \"motionless\" in the broader context (\"motionless when\" \u2192 \"motionless, when\"). Including the following word \"when\" does not alter the essential edit; it correctly captures the intention of adding a comma after \"motionless\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "our view by",
            "corrected_text": "our view, by",
            "observed_line_number": 18,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change within a larger context span (\"our view by\" \u2192 \"our view, by\"), which still places the comma immediately after \"view\". This captures the essential intended punctuation edit, with only additional surrounding words included as context."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them;",
            "corrected_text": "with them,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it, to",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still, to",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "c(cap) ity",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring with its accompanying monotony, always the same re-\nluctant return of",
            "corrected_text": "to each recurring with its accompanying monotony, always the same re-\nluctant return of",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:24:04.826944",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:51:16.858783",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, but includes additional surrounding context (\"existence at\" \u2192 \"existence, at\"). This still correctly captures the essential intended edit: inserting a comma after \"existence\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction expands the span to include the following word but performs the same core change: it inserts a comma immediately after \"motionless\" (\"motionless when\" \u2192 \"motionless, when\"). This captures the essential intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "our view by",
            "corrected_text": "our view, by",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds a comma after \"view\" within a longer phrase (\"our view by\" \u2192 \"our view, by\"). This includes extra surrounding context but captures the same core punctuation change\u2014inserting a comma immediately after \"view\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them;",
            "corrected_text": "with them,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still;",
            "corrected_text": "stand-still,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "c(cap)ity",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring with its accompanying monotony, always the same re-\nluctant return of",
            "corrected_text": "to each recurring with its accompanying monotony, always the same re-\nluctant return of",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:24:45.663500",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:10:34.286172",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction adds a comma immediately after \"existence\" as well, using a slightly larger text span (\"existence at\" \u2192 \"existence, at\"). This captures the same core punctuation change intended by the ground truth. Extra surrounding context in the prediction does not alter the essential edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change\u2014adding a comma immediately after \"motionless\"\u2014but includes additional surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This captures the essential intended punctuation correction.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "our view by",
            "corrected_text": "our view, by",
            "observed_line_number": 18,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit inserts a comma after \"view\" as well, within a longer phrase (\"our view by\" \u2192 \"our view, by\"). This includes extra surrounding context but preserves the essential correction: adding a comma immediately after \"view.\" \u0644\u0630\u0644\u0643\u060c the prediction captures the core intended edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them;",
            "corrected_text": "with them,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it, to",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still, to",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "c(cap) ity",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring with its accompanying monotony, always the same re-\nluctant return of",
            "corrected_text": "to each recurring with its accompanying monotony, always the same re-\nluctant return of",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:30:12.973160",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:08:19.961710",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and also inserts \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit likewise replaces \"dryest snorts\" with \"driest of snorts\", capturing the same core correction (spelling correction + insertion of \"of\" before \"snorts\"). Although the prediction omits surrounding context (\"of the\" and the final period), it still correctly represents the essential intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 31,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"italicize,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction target the same text (\"him\") and apply the same change (italicization) without altering the wording. Since line numbers are to be ignored, the core intended edit is captured correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: Both edits replace the same original text \"authorize\" with the same corrected text \"authorise\". This captures the identical core change (American to British spelling). Any difference in line number is to be ignored per instructions.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that, boiling-over",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty, sticking",
            "corrected_text": "at twenty; sticking",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "of him, than",
            "corrected_text": "of him than",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:25:19.050028",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:51:54.315908",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts an additional \"of\" to make the phrase \"driest of snorts.\" The predicted edit likewise replaces \"dryest snorts\" with \"driest of snorts,\" capturing both the spelling correction (dryest \u2192 driest) and the insertion of \"of\". Although the prediction omits surrounding context (\"of the\" at the start and the final period), it preserves the core intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 31,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\n\nText Content Accuracy: Both indicate italicizing the same word \"him\" with no change in the text itself (original_text and corrected_text are both \"him\"), matching the intended formatting change. Line number differences are to be ignored, so the core edit is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\". This captures the same core intended change (US to UK spelling). Ignoring line numbers as instructed, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that, boiling-over",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty, sticking",
            "corrected_text": "at twenty; sticking",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "of him, than",
            "corrected_text": "of him than",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:25:52.043544",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:11:21.710519",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest snorts\" to \"driest of snorts\" (i.e., spelling correction dryest\u2192driest plus inserting \"of\"). The prediction makes the same core change: \"dryest snorts\" \u2192 \"driest of snorts.\" Although the ground truth includes surrounding context (\"of the\" and a period) and the prediction omits that context, the essential intended correction is captured accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 31,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\n\nText Content Accuracy: Both identify the same target text \"him\" with no change to the characters, only the formatting (italicization). This captures the core intended edit.\n\nLine numbers are ignored per instructions, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 39,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\", which captures the same core correction (American to British spelling). Ignoring line numbers as instructed, the essential text change is identical."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that, boiling-over",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty, sticking",
            "corrected_text": "at twenty; sticking",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "of him, than",
            "corrected_text": "of him, than",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T10:30:43.124424",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:08:58.753628",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The prediction likewise inserts a comma after \"For\" in the shorter span \"For Mr.\" \u2192 \"For, Mr.\". Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the same core punctuation change: adding a comma after \"For\" before \"Mr.\". Therefore, the intended edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same correction (\"quickly, that\"), capturing the intended insertion of a comma after \"quickly.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me; not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:26:19.394988",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T10:52:32.455954",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core punctuation change at the correct location. Therefore, the essential edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"quickly\" (\"quickly that\" \u2192 \"quickly, that\"). The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me; not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-opus-4.6",
        "date": "2026-03-08T11:26:43.285854",
        "annotator": "Claude Opus 4.6",
        "annotation_date": "2026-03-08T11:12:03.397334",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction likewise inserts a comma after \"For\" in the corresponding phrase segment \"For Mr.\" \u2192 \"For, Mr.\" Although it includes less surrounding context (it omits \"Pancks\"), it correctly captures the core intended punctuation change (adding the comma after \"For\" before \"Mr.\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation: \"quickly that\" \u2192 \"quickly, that\", inserting a comma after \"quickly\". The core change is identical, with no mismatch in original or corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me; not",
            "corrected_text": "me, not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2026-02-05",
    "release_source": "https://www.anthropic.com/news/claude-opus-4-6",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit."
  },
  {
    "model_name": "Claude Opus 4.7",
    "model_id": "claude-opus-4.7",
    "date": "2026-04-26T00:12:21.117662",
    "shots": 2,
    "config": {
      "model_id": "claude-opus-4.7",
      "display_name": "Claude Opus 4.7",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-04-25",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Claude Opus 4.7",
    "annotation_date": "2026-04-25T23:09:03.913445",
    "file_results": [
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:09:19.108133",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:03.913445",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same correction (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change of inserting a comma after \"yonder\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:09:25.365692",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:14:02.981440",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to the end of \"Fellow Travellers\" to make it \"Fellow Travellers.\" The original and corrected texts are identical between ground truth and prediction, so the intended correction is captured precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the intended insertion of a comma after \"howling\". Therefore the core change matches perfectly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change of inserting a comma after \"yonder.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:09:20.847541",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:31:52.670255",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: adding a period after \"Fellow Travellers\" (\"Fellow Travellers\" \u2192 \"Fellow Travellers.\"). The core intended correction is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over\", inserting a comma after \"howling\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the core intended change of inserting a comma after \"yonder\". No discrepancy in the essential edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:09:22.590232",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:04.451332",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir\", inserting a comma after \"No\". This captures the core intended correction with identical original and corrected text.\nLine numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 27,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial word in the phrase, changing \"why did he dine\" to \"Why did he dine\". The prediction captures this core change by changing \"why\" to \"Why\". Although it includes less surrounding context than the ground truth, it correctly represents the essential capitalization edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": 28,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"cold stones!\" and the same corrected text \"cold stones?\"\u2014changing an exclamation mark to a question mark. This captures the core intended edit with no deviation. Line number differences are ignored as instructed."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:09:22.964073",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:14:01.289009",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir\" (inserting a comma after \"No\"). The core correction is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word in the phrase: \"why did he dine\" \u2192 \"Why did he dine.\" The predicted edit focuses on the essential change within that phrase: \"why\" \u2192 \"Why.\" Although it includes less surrounding context, it captures the core intended correction (capitalizing \"why\"). Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change from \"cold stones!\" to \"cold stones?\" with identical original and corrected text. Ignoring line numbers, the intended edit is captured exactly."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:09:21.667966",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:31:50.504740",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both apply the same core change, inserting a comma after \"No\" in the phrase \"No sir\" to make it \"No, sir\". The original_text and corrected_text match the ground truth\u2019s intended punctuation change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction captures the same core change by converting \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it correctly identifies and applies the essential capitalization change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing the exclamation mark with a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the intended correction."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:09:21.102473",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:06.512498",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"if he\" to \"If he,\" capturing the identical core correction (capitalizing the initial 'i'). No additional or missing changes are present."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The predicted edit captures the same core substitution (\"said\" \u2192 \"asked\") even though it includes less surrounding context (it omits \"Clennam\" from the specified span). Since the essential intended change is the replacement of \"said\" with \"asked,\" the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:09:15.551415",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:13:58.072142",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:09:20.303857",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:31:45.930621",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 33,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction specify the same core change: \"if he\" \u2192 \"If he\" (capitalizing the initial 'i' to 'I'). This captures the intended correction precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\" edits, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the verb from \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution (\"said\" \u2192 \"asked\"), even though it omits the surrounding context (\"Clennam\"). Since the essential intended change is the verb replacement, the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:09:25.847428",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:04.067513",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"high road\" is corrected to \"high-road\" by inserting a hyphen. The original_text and corrected_text are identical between ground truth and prediction, capturing the intended edit precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit type matches exactly: both are labeled as \"punctuation\". Text content also matches the ground truth\u2019s core change: inserting a comma after \"materials\" so that \"materials costing\" becomes \"materials, costing\". No divergence in the original or corrected text, so the prediction fully captures the intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same correction (\"about, and\"), capturing the identical core change\u2014adding a comma after \"about\". Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 20,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change: inserting a comma after \"earnestly\". Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 26,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same change from \"said when\" to \"said, when,\" inserting a comma after \"said.\" This captures the core intended correction exactly. Line number differences are to be ignored."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:10:29.745000",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:14:00.459185",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing \"high road\" with the hyphenated form \"high-road\". The original and corrected texts are identical between ground truth and prediction, capturing the intended punctuation change precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original span (\"materials costing\") and the same correction (\"materials, costing\"), inserting a comma after \"materials.\" This captures the core intended change with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same corrected text (\"about, and\"), capturing the identical core change\u2014adding a comma after \"about.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"earnestly telling\" \u2192 \"earnestly, telling\", i.e., inserting a comma after \"earnestly\". This captures the core intended change with no discrepancy in the edited text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"said when\" and the same corrected text \"said, when\", capturing the identical core change (inserting a comma after \"said\"). Line number differences are to be ignored, so the prediction matches the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"said\" to \"said,\" by adding a comma immediately after the word. This captures the same core correction. Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 32,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the core intended change of inserting a comma after \"Clennam.\" Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association",
            "corrected_text": "association,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:10:21.219569",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:31:52.346737",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"high road\" to \"high-road\" (adding a hyphen). The original and corrected texts are identical between ground truth and prediction, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same original phrase (\"materials costing\") and the same correction (\"materials, costing\"), inserting a comma after \"materials\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma to change \"about and\" to \"about, and\". The original and corrected text match the ground truth\u2019s intention with no deviation. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction also adds a comma immediately after \"said\" (\"said when\" \u2192 \"said, when\"). Although the prediction includes extra surrounding context (the following word \"when\"), it captures the same core punctuation change intended in the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:10:21.110192",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:00.341421",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:10:26.951963",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:13:58.266240",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:10:26.067309",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:31:50.010966",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is to add a period at the end of \"Sun and Shadow\" (\"Sun and Shadow\" \u2192 \"Sun and Shadow.\"). The prediction also results in the same corrected text ending with a period. Although the prediction\u2019s original_text includes a comma (\"Sun and Shadow,\") implying a comma-to-period replacement rather than period insertion, it still captures the core intended correction: the phrase should end with a period. Therefore, the essential edit matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:10:40.143287",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:04.710667",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Let Loose\" to \"Let Loose.\" by adding a period at the end. The original and corrected texts are identical between ground truth and prediction, capturing the core intended change precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change: inserting a comma after \"dull.\" Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"man slowly\") and the same correction (\"man, slowly\"), capturing the identical core change\u2014adding a comma after \"man.\" Line numbers are to be ignored, so this difference does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2. Text Content Accuracy: Both specify the same core punctuation change: inserting a comma after \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The original and corrected text strings are identical between ground truth and prediction. Line number differences are to be ignored, so the prediction captures the intended edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\" edits, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"sodden\" to \"soddened\". The prediction changes \"sodden with\" to \"soddened with\", which includes additional surrounding context (\"with\") but preserves the same core change from \"sodden\" to \"soddened\". This accurately captures the intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:10:30.796647",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:14:03.628194",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Let Loose\" to \"Let Loose.\" by adding a period at the end. The original and corrected text are identical to the ground truth\u2019s intention. Therefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. Text Content Accuracy: Both specify the same transformation from \"dull autumn\" to \"dull, autumn\", inserting a comma after \"dull\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"poplar trees\") and the same corrected text (\"poplar-trees,\")\u2014adding a hyphen between \"poplar\" and \"trees\" and adding a trailing comma. The core change is identical to the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both edits apply the same core punctuation change, inserting a comma after \"man\" to convert \"man slowly\" into \"man, slowly\". The original and corrected text strings match the ground truth\u2019s intention exactly.\n\nLine numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). This captures the essential correction intended in the ground truth. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:10:35.408877",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:31:54.091526",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"Let Loose\" and corrected text \"Let Loose.\", capturing the identical core change (adding a period). Therefore the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"dull autumn\" to \"dull, autumn\", inserting a comma after \"dull\". The core change is identical with no discrepancies. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same core punctuation change from \"man slowly\" to \"man, slowly\" (inserting a comma after \"man\"). This captures the essential intended correction. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same core change: inserting a comma after \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The essential punctuation correction is captured identically. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"sodden\" to \"soddened\". The prediction changes \"sodden with\" to \"soddened with\", which includes extra surrounding context (\"with\") but preserves the same core change: \"sodden\" \u2192 \"soddened\". Therefore, the predicted edit captures the essential intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:10:21.770768",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:09.356734",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"heart so\") and the same corrected text (\"heart, so\"), capturing the identical core change\u2014adding a comma after \"heart.\" Ignoring line numbers, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she did,",
            "corrected_text": "(as she did indeed,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:10:26.372059",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:14:02.321189",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did",
            "corrected_text": "thanked him from her heart (as indeed she did",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:10:57.800867",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:31:50.813258",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"heart so\" to \"heart, so,\" inserting a comma after \"heart.\" This captures the same core correction with identical original and corrected text. Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did",
            "corrected_text": "thanked him from her heart indeed (as she did",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:11:26.150180",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:08.413618",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth. Text Content Accuracy: Both ground truth and prediction change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" The core punctuation correction is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"moment with\" \u2192 \"moment, with\", inserting a comma after \"moment\". This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"beautiful that\" to \"beautiful, that\" by inserting a comma after \"beautiful.\" This captures the core intended correction with identical original and corrected text. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "directly, \"they",
            "corrected_text": "directly, \"They",
            "observed_line_number": 35,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change \"they\" to \"They\" (capitalizing the initial letter). The prediction changes \"directly, \\\"they\" to \"directly, \\\"They,\" which includes extra surrounding context but performs the same core capitalization change on the word \"they.\" Since the essential correction (they \u2192 They) is captured, the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:11:15.359528",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:14:01.779945",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both edits make the same core change, inserting a comma after \"hers\" to change \"hers and\" into \"hers, and.\" This captures the intended correction precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same correction (\"hers, matters\"), capturing the identical core change\u2014adding a comma after \"hers\". Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"moment with\" to \"moment, with,\" inserting a comma after \"moment.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"beautiful\" in the phrase \"beautiful that,\" i.e., \"beautiful that\" \u2192 \"beautiful, that.\" This captures the essential intended correction with no discrepancy in the text change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 34,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change the same word from \"they\" to \"They,\" capturing the identical core correction (capitalizing the initial letter). Line number differences are ignored as instructed.\nTherefore, the predicted edit matches the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:11:31.834993",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:31:47.462752",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original segment (\"hers and\") and the same correction (\"hers, and\"), inserting a comma after \"hers\". This captures the core intended change precisely. Line numbers are irrelevant per instructions."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change\u2014adding a comma after \"hers.\" Line numbers are to be ignored, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"moment with\") and the same corrected_text (\"moment, with\"), capturing the core intended change\u2014adding a comma after \"moment.\" Ignoring line numbers, the prediction matches the ground truth edit precisely."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same corrected text (\"beautiful, that\"), capturing the identical core change: inserting a comma after \"beautiful\". Ignoring line numbers as instructed, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 35,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change: original_text \"they\" corrected to \"They\". This captures the essential intended edit with identical before/after text.\n\nLine numbers are ignored per instructions, so the mismatch there does not affect correctness."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:11:26.539892",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:42.120551",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original segment (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core punctuation insertion (a comma after \"shore\"). Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "greater things that once were",
            "corrected_text": "greater things than once were",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the word \"that\" to \"than\". The predicted edit changes the phrase \"greater things that once were\" to \"greater things than once were\", which includes the same core substitution (\"that\" \u2192 \"than\") with additional surrounding context. This correctly captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy",
            "corrected_text": "that, in our fancy,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:11:30.334417",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:14:36.782400",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"shore and\" to \"shore, and\" by inserting a comma after \"shore\". The original and corrected text strings match the ground truth\u2019s core change exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "things that once",
            "corrected_text": "things than once",
            "observed_line_number": 35,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"that\" to \"than\". The predicted edit changes the phrase \"things that once\" to \"things than once\", which contains the same core correction (replacing \"that\" with \"than\") while including extra surrounding context. This captures the essential intended change.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy",
            "corrected_text": "that, in our fancy,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:11:39.508236",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:32:32.676558",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"shore\" in the phrase \"shore and\" to become \"shore, and.\" The original_text and corrected_text match the ground truth\u2019s intended modification. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy",
            "corrected_text": "that, in our fancy,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "things that once were",
            "corrected_text": "things than once were",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:11:43.841517",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:47.428462",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City\". There is no deviation in original or corrected text. Therefore, the predicted edit captures the ground truth intention precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit applies the same core change, adding a comma immediately after \"existence\" within a slightly longer span (\"existence at\" \u2192 \"existence, at\"). This includes extra context but preserves the essential intended punctuation correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction adds the same comma after \"motionless\" but includes the following word for context (\"motionless when\" \u2192 \"motionless, when\"). This captures the same core punctuation change intended by the ground truth.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change within a larger span (\"view by\" \u2192 \"view, by\"), which still places the comma immediately after \"view\". The additional context (including \"by\") does not alter the essential intended punctuation change.\n\nTherefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it, to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still, to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "return of",
            "corrected_text": "return to of",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liegelord",
            "corrected_text": "liege lord",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:12:21.117662",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:14:38.963281",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"city\" to \"City\", capturing the identical core change (capitalizing the first letter). No discrepancies in original or corrected text are present."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates inserting a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction expands the span to include the following word, changing \"existence at\" \u2192 \"existence, at\", which still represents the same core change: adding a comma immediately after \"existence\". The extra context word does not alter the intended punctuation correction.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction makes the same essential punctuation change, just with additional surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This correctly captures the core intended edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds a comma after \"view\" as well, shown with additional surrounding context (\"view by\" \u2192 \"view, by\"). This captures the same essential punctuation insertion at the same location relative to the word \"view.\""
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to replace the punctuation immediately following \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction applies the same core punctuation change by making \"existence\" followed by a semicolon (\"existence is\" \u2192 \"existence; is\"), adding surrounding context (the following word \"is\"). Even though the predicted original snippet omits the comma explicitly, the essential intended correction\u2014placing a semicolon after \"existence\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "of the",
            "corrected_text": "of to the",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liegelord",
            "corrected_text": "liege lord",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:12:01.822878",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:32:36.813477",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core transformation: changing \"city\" to \"City\". There is no discrepancy in original or corrected text. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates inserting a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, adding a comma after \"existence\" while including extra surrounding context (\"existence at\" \u2192 \"existence, at\"). This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction expands the span to include the following word (\"motionless when\" \u2192 \"motionless, when\"), but it still performs the same core punctuation insertion: a comma immediately after \"motionless.\" This correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction adds a comma after \"view\" as well, but includes extra surrounding context (\"view by\" \u2192 \"view, by\"). This still captures the same core punctuation insertion intended by the ground truth.\n\nTherefore, the predicted edit correctly reflects the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it, to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still, to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "of the",
            "corrected_text": "of to the",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liegelord",
            "corrected_text": "liege lord",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:12:01.035857",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:43.704342",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly.\nText Content Accuracy: Both specify the same target text \"him\" with no change in wording (only formatting to italics). The predicted edit captures the same core formatting change intended by the ground truth.\nTherefore, the prediction correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"now\" in the phrase \"now I\" to make it \"now, I.\" There is no discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both replace the exact same original text (\"authorize\") with the same corrected text (\"authorise\"). The core change (American to British spelling) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:12:08.419577",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:14:40.819855",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change: \"twenty;\" is corrected to \"twenty:\". Since the essential edit is identical, the prediction matches the ground truth's intention. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same target text, \"him\" \u2192 \"him\", indicating the intention is to italicize the word without changing its spelling. The predicted edit captures the same core change as the ground truth.\n\nTherefore, the predicted edit correctly matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have",
            "corrected_text": "now, I have",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The prediction performs the same essential punctuation change, simply including extra surrounding context (\"now I have\" \u2192 \"now, I have\"). This preserves the exact intended correction (comma insertion after \"now\")."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same replacement of \"authorize\" with \"authorise\", capturing the identical core change (US to UK spelling). Ignoring line numbers as instructed, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the dryest snorts",
            "corrected_text": "the driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:12:12.885961",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:32:41.395573",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction apply italicization to the same token, with original_text \"him\" and corrected_text \"him\" (indicating a formatting change only). The core intended change\u2014italicizing \"him\"\u2014is captured identically.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 35,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core correction, changing \"now I\" to \"now, I\" by inserting a comma after \"now.\" This fully captures the ground truth intention. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 39,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2. Text Content Accuracy: Both edits replace the original text \"authorize\" with the corrected text \"authorise\". This captures the core intended change (American to British spelling). Line number differences are to be ignored, so the content matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:12:05.322933",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:09:44.655922",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"For Mr. Pancks\" to \"For, Mr. Pancks\" by inserting a comma after \"For\". The core punctuation change is identical in the prediction and the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"quickly\" in the phrase \"quickly that\" to make \"quickly, that\". This captures the core intended correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "insertion",
            "original_text": "making me, not",
            "corrected_text": "making me a, not",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches.\n\n2. Text Content Accuracy: The ground truth inserts \"a\" after \"me\" (\"me,\" \u2192 \"me a,\"). The predicted edit also inserts \"a\" after \"me\" within a longer phrase (\"making me, not\" \u2192 \"making me a, not\"). Although the prediction includes additional surrounding context, it captures the same core change: inserting \"a\" between \"me\" and the comma. Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:12:03.409124",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:14:44.337185",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is inserting a comma after the word \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it still captures the essential punctuation change at the correct location. Therefore, it matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"quickly\" in the phrase \"quickly that\" \u2192 \"quickly, that\". The original_text and corrected_text match exactly, so the essential edit is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "making me not",
            "corrected_text": "making me a not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-opus-4.7",
        "date": "2026-04-26T00:12:11.552778",
        "annotator": "Claude Opus 4.7",
        "annotation_date": "2026-04-25T23:32:36.667012",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"For Mr. Pancks\" to \"For, Mr. Pancks\", inserting a comma after \"For\". The core punctuation change is identical, with no discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both edits change \"quickly that\" to \"quickly, that,\" inserting a comma after \"quickly.\" This captures the same core punctuation correction intended by the ground truth. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "making me not",
            "corrected_text": "making me a not",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2026-04-16",
    "release_source": "https://www.anthropic.com/news/claude-opus-4-7",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit."
  },
  {
    "model_name": "Claude Opus 4.8",
    "model_id": "claude-opus-4.8",
    "date": "2026-07-23T15:11:43.568625",
    "shots": 2,
    "config": {
      "model_id": "claude-opus-4.8",
      "display_name": "Claude Opus 4.8",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Claude Opus 4.8",
    "annotation_date": "2026-07-23T11:11:17.759132",
    "file_results": [
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:04.397109",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:11:17.759132",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over\" by inserting a comma after \"howling.\" The core punctuation change is identical, with matching original and corrected text.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder.\" The original and corrected texts match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:09:52.282814",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:23:17.994662",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original phrase \"howling over\" and the same correction \"howling, over\", capturing the identical core change (inserting a comma after \"howling\"). Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"yonder to-day\" and the same correction \"yonder, to-day\", inserting a comma after \"yonder\". The core punctuation change is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:09:55.177089",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:14.356977",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the intended insertion of a comma after \"yonder\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:09:53.607331",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:11:24.522500",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir,",
            "corrected_text": "No, sir,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:09:53.780354",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:23:17.154894",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir,",
            "corrected_text": "No, sir,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:09:52.383594",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:19.106570",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "\"No sir,",
            "corrected_text": "\"No, sir,",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth correction inserts a comma after \"No\" (\"No sir\" \u2192 \"No, sir\"). The prediction likewise changes \"No sir\" to \"No, sir\" within a larger quoted/contextual span (\"\\\"No sir,\" \u2192 \"\\\"No, sir,\"). Although the prediction includes extra surrounding punctuation (opening quote and an existing trailing comma), it captures the essential intended change: adding the comma after \"No\".\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"why did",
            "corrected_text": "\"Why did",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!\"",
            "corrected_text": "cold stones?\"",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:09:44.029529",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:11:12.690979",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 51,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:09:50.732278",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:23:20.980294",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:09:44.024951",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:07.059404",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:11.498767",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:11:17.608116",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change from \"high road\" to \"high-road\" (adding a hyphen between the words). There is no discrepancy in original or corrected text. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"materials\" in the phrase \"materials costing,\" yielding \"materials, costing.\" The original_text and corrected_text match the ground truth\u2019s intended punctuation change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tossed about and",
            "corrected_text": "tossed about, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "association did",
            "corrected_text": "association did",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:10.544903",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:23:23.173706",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text \"high road\" and the same corrected text \"high-road,\" capturing the identical core change (hyphenation). No discrepancy in the essential edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"materials\" in the phrase \"materials costing\" to make it \"materials, costing.\" The original_text and corrected_text match the ground truth\u2019s intended punctuation change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:27.164499",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:12.202920",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"high road\" to \"high-road\" (adding a hyphen). There is no deviation in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials\". Line number differences are to be ignored, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said;",
            "corrected_text": "said,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:40.606780",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:11:12.446049",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to make the phrase end with a period (\"Sun and Shadow\" \u2192 \"Sun and Shadow.\"). The prediction also results in the same corrected text ending with a period (\"Sun and Shadow,\" \u2192 \"Sun and Shadow.\"). Although the predicted original text includes a comma that is not present in the ground truth original text, the core intended correction\u2014ensuring a period at the end of the phrase\u2014is captured correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1,",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:22.977511",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:23:18.057631",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:29.639363",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:08.057210",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to end the phrase \"Sun and Shadow\" with a period (i.e., add/ensure a final period). The prediction also results in \"Sun and Shadow.\" as the corrected text. Although the prediction\u2019s original_text includes a comma (\"Sun and Shadow,\") whereas the ground truth original_text has no punctuation (\"Sun and Shadow\"), the core intended correction\u2014making the ending punctuation a period\u2014is accurately captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I,",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:39.152743",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:11:25.662427",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to \"Let Loose\" to make it \"Let Loose.\". The original and corrected texts are identical between ground truth and prediction, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"dull\" in the phrase \"dull autumn\" \u2192 \"dull, autumn\". The original and corrected texts are identical between ground truth and prediction, so the intended edit is captured correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"poplar trees\") and the same corrected text (\"poplar-trees,\") indicating the identical core change: adding a hyphen and a comma. Line numbers are ignored as instructed, so this does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was.\" The prediction also captures the same core change by editing \"Chalons\" \u2192 \"Chalons,\" (adding a comma immediately after \"Chalons\"). Although the prediction omits the following word \"was\" from its context, it still correctly represents the essential punctuation insertion intended by the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man",
            "corrected_text": "One man,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:54.397339",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:23:22.194965",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"Let Loose\" to \"Let Loose.\" (adding a period). The core intended correction is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both ground truth and prediction change \"dull autumn\" to \"dull, autumn\" by inserting a comma after \"dull\". The core intended punctuation change is captured exactly with the same original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"poplar trees\") and the same corrected text (\"poplar-trees,\") capturing the intended hyphen insertion and comma addition. The added notes in the prediction do not change the edit content. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"man\" (turning \"man slowly\" into \"man, slowly\"). The predicted edit \"man\" \u2192 \"man,\" captures the same core punctuation insertion at the same location (immediately after \"man\"), even though it omits the following word for context. This matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma after the word \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was\". The predicted edit \"Chalons\" \u2192 \"Chalons,\" captures the same core punctuation change (adding a comma immediately after \"Chalons\"), just with less surrounding context. This matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:09.127723",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:13.525640",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both edits change \"Let Loose\" to \"Let Loose.\" by adding a period at the end. The core change is identical, with no discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change: inserting a comma after \"dull\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "row of poplar trees",
            "corrected_text": "row of poplar-trees,",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"poplar trees\" to \"poplar-trees,\" (adds a hyphen between \"poplar\" and \"trees\" and adds a trailing comma). The prediction applies the same core change within a slightly larger context: \"row of poplar trees\" \u2192 \"row of poplar-trees,\". Including extra surrounding words is acceptable, and the essential modification (hyphenation and comma) matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change is inserting a comma after the word \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction applies the same punctuation change within a slightly larger span of text (\"One man slowly\" \u2192 \"One man, slowly\"). Including extra surrounding context is acceptable, and the essential edit is correctly captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "towards Chalons was",
            "corrected_text": "towards Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is inserting a comma after \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The predicted edit makes the same core change, just with additional surrounding context (\"towards Chalons was\" \u2192 \"towards Chalons, was\"). This still captures the essential punctuation insertion at the correct location.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream, like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:35.661749",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:11:15.544510",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"heart so\") and the same corrected text (\"heart, so\"), inserting a comma after \"heart.\" This captures the core intended change precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did,",
            "corrected_text": "thanked him from her heart (as she did indeed,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:36.588283",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:23:18.212950",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation: inserting a comma after \"heart\" so that \"heart so\" becomes \"heart, so\". This captures the core intended change with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did",
            "corrected_text": "thanked him from her heart indeed (as she did",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so; I am not disappointed",
            "corrected_text": "I hoped so; I am not disappointed",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:00.205070",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:14.191247",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"heart so\" to \"heart, so\", inserting a comma after \"heart\". This captures the same core punctuation correction as the ground truth. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hope so; I am not disappointed.",
            "corrected_text": "I hope so; I am not disappointed. I hoped so",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did",
            "corrected_text": "thanked him from her heart indeed (as she did",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:51.970566",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:11:50.941378",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a moment with",
            "corrected_text": "a moment, with",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so beautiful that",
            "corrected_text": "so beautiful, that",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:10:55.260273",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:23:52.523390",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:00.634591",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:49.958127",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:15.672499",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:11:51.182931",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation from an exclamation point to a comma in the phrase \"Thank you\" (\"Thank you!\" \u2192 \"Thank you,\"). The prediction captures the same core change, replacing ! with , in the same phrase, but includes surrounding quotation marks as additional context (\"Thank you!\" \u2192 \"Thank you,\"). This added context does not alter the essential intended correction. Therefore, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "greater things that once",
            "corrected_text": "greater things than once",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that, in our fancy, whatever",
            "corrected_text": "that in our fancy whatever",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:08.907509",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:23:53.918470",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "greater things that once were",
            "corrected_text": "greater things than once were",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that, in our fancy, whatever",
            "corrected_text": "that in our fancy whatever",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:07.442178",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:51.012969",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that, in our fancy, whatever",
            "corrected_text": "that in our fancy whatever",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "greater things that once",
            "corrected_text": "greater things than once",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:30.165049",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:12:06.618304",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify changing \"city\" to \"City\", which captures the identical core correction. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them;",
            "corrected_text": "with them,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it, to",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still, to",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "our view by",
            "corrected_text": "our view, by",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liege lord",
            "corrected_text": "liege lord",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX.",
            "corrected_text": "Chapter XXIX",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING.",
            "corrected_text": "DREAMING",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "reluctant return of",
            "corrected_text": "reluctant return of",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:31.245206",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:23:58.345215",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\". The original and corrected texts match exactly, capturing the intended punctuation insertion."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"DREAMING\" to \"DREAMING.\" by adding a period. This captures the core intended correction. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change, converting \"city\" to \"City.\" Line numbers are to be ignored, so the differing line_number does not affect correctness. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "familiar with them,",
            "corrected_text": "familiar with them;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to",
            "corrected_text": "it; to",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still, to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence, is",
            "corrected_text": "existence; is",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liegelord",
            "corrected_text": "liege lord",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "reluctant return of",
            "corrected_text": "reluctant return to of",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:32.627984",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:59.376480",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core correction: adding a period to change \"Chapter XXIX\" to \"Chapter XXIX.\". The original and corrected texts are identical between ground truth and prediction, capturing the intended punctuation insertion precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"DREAMING\" to \"DREAMING.\" by adding a period. This captures the same core punctuation correction. Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth changes \"city\" to \"City.\" The predicted edit also changes \"city\" to \"City,\" capturing the same core capitalization correction with identical original and corrected text.\n\nLine numbers are ignored as instructed, so the difference in line_number does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "reluctant return of the",
            "corrected_text": "reluctant return to the",
            "observed_line_number": 6,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\" edits, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces the word \"of\" with \"to\". The predicted edit replaces the phrase \"reluctant return of the\" with \"reluctant return to the\", which captures the same core change (\"of\" \u2192 \"to\") while including additional surrounding context. This aligns with the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "familiar with them,",
            "corrected_text": "familiar with them;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to",
            "corrected_text": "it; to",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still, to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence, is",
            "corrected_text": "existence; is",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liegelord",
            "corrected_text": "liege lord",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:34.893856",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:12:04.410253",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and adds \"of\" to form \"driest of snorts\" (within the larger phrase \"of the ... .\"). The prediction captures the same core transformation: \"dryest snorts\" \u2192 \"driest of snorts.\" Although the prediction omits surrounding context (\"of the\" and the final period), it correctly represents the essential edit intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty, sticking",
            "corrected_text": "at twenty; sticking",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "out of him than",
            "corrected_text": "out of him, than",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "\"Your own recompense",
            "corrected_text": "\"Your own recompense",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have",
            "corrected_text": "now, I have",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam, \"not",
            "corrected_text": "said Clennam; \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:39.084264",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:23:57.112004",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" \u2192 \"driest\" and inserts \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit captures the same core transformation: \"dryest snorts\" \u2192 \"driest of snorts.\" Although the prediction omits surrounding context (\"of the\" and the period), it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that boiling-over",
            "corrected_text": "that of boiling-over",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty. sticking",
            "corrected_text": "at twenty; sticking",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "out of him than",
            "corrected_text": "out of him, than",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have",
            "corrected_text": "now, I have",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 51,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "authorize you now",
            "corrected_text": "authorise you, now",
            "observed_line_number": 51,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam, \"not",
            "corrected_text": "said Clennam; \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:43.568625",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:58.269279",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are marked as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit likewise changes \"dryest\" \u2192 \"driest\" and produces \"driest of snorts\". Although the prediction omits surrounding context (\"of the\" and the final period), it correctly captures the core intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty sticking",
            "corrected_text": "at twenty; sticking",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "bubbling out of him",
            "corrected_text": "bubbling out of him",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have",
            "corrected_text": "now, I have",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam \"not",
            "corrected_text": "said Clennam; \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:34.755282",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T11:12:05.278290",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The predicted edit likewise inserts a comma after \"For\" in a slightly shorter span, \"For Mr.\" \u2192 \"For, Mr.\". Although it omits the trailing word \"Pancks\", it captures the core intended punctuation change (adding the comma after \"For\" before \"Mr.\"). Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "making me, not",
            "corrected_text": "making me, a not",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:34.887364",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T12:24:02.194892",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"For Mr. Pancks\") and the same correction (inserting a comma after \"For\" to make \"For, Mr. Pancks\"). The core punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-opus-4.8",
        "date": "2026-07-23T15:11:41.483870",
        "annotator": "Claude Opus 4.8",
        "annotation_date": "2026-07-23T13:23:55.671533",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"For\" in the phrase \"For Mr. Pancks\" to become \"For, Mr. Pancks\". The core punctuation correction is identical."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2026-05-28",
    "release_notes": "Anthropic released Claude Opus 4.8 in late May 2026; the OpenRouter listing appeared 2026-05-27.",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit. Opus 4.8's score is depressed by unreliable line counting: it identifies most edits correctly (166 of ~200 match ground truth by text) but reports noisy line numbers that drift progressively down the page and vary between runs, so the judge rejects the matches."
  },
  {
    "model_name": "Claude Opus 5 (OR)",
    "model_id": "or_claude_opus_5",
    "date": "2026-09-06T04:06:18.140146",
    "shots": 2,
    "config": {
      "model_id": "or_claude_opus_5",
      "display_name": "Claude Opus 5 (OR)",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-09-06",
      "notes": "Benchmark run with 2-shot learning at high reasoning effort"
    },
    "annotator": "Claude Opus 5 (OR)",
    "annotation_date": "2026-09-06T03:58:27.021401",
    "file_results": [
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:36.618826",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:58:27.021401",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core punctuation change is captured exactly with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original phrase (\"howling over\") and the same correction (\"howling, over\"), capturing the identical core change: insertion of a comma after \"howling\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"yonder to-day\" and the same correction \"yonder, to-day\", inserting a comma after \"yonder\". The core punctuation change is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same transformation of the word \"Sir\" to \"sir\", capturing the identical core change (lowercasing the initial letter). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change, inserting a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The corrected_text matches exactly, capturing the intended punctuation insertion."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:40.855524",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:00:31.248495",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth. Text Content Accuracy: Both ground truth and prediction change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core change and the specific text involved match exactly. Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over,\" inserting a comma after \"howling.\" This captures the identical core punctuation change with matching original and corrected text.\n\nTherefore, the prediction correctly reflects the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change\u2014adding a comma after \"yonder\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"Sir\" to \"sir\". The core intended correction (lowercasing the initial letter) is captured precisely with no discrepancy. Therefore, the predicted edit matches the ground truth intent."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets.\" This captures the core intended punctuation correction with identical original and corrected text."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:44.884491",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:02:49.847907",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both edits apply the same core change\u2014adding a period to convert \"Fellow Travellers\" to \"Fellow Travellers.\". Since both the type and the essential text modification match, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is to insert a comma after the word \"howling\" in the phrase \"howling over\" (i.e., \"howling over\" \u2192 \"howling, over\"). The predicted edit also inserts a comma after \"howling\" (\"howling\" \u2192 \"howling,\"). Although the prediction includes less surrounding context (it omits \"over\"), it captures the core intended punctuation change: adding a comma immediately after \"howling.\""
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"yonder\" in the phrase \"yonder to-day\" (making it \"yonder, to-day\"). The predicted edit \"yonder\" \u2192 \"yonder,\" captures this same core punctuation change (adding a comma immediately after \"yonder\"), even though it omits the following word \"to-day\". Since the essential intended correction is the comma insertion after \"yonder\", the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: \"Sir\" is corrected to \"sir\" (lowercasing the initial letter). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and.\" The predicted edit \"pockets\" \u2192 \"pockets,\" captures the same core punctuation change (adding a comma immediately after \"pockets\"). Although it omits the following word \"and,\" it still reflects the essential intended correction."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:35.971164",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:58:28.887570",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"No sir, I have got Maggy with me.\"",
            "corrected_text": "\"No, sir, I have got Maggy with me.\"",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth correction is inserting a comma between \"No\" and \"sir\" (\"No sir\" \u2192 \"No, sir\"). The predicted edit applies the same core change within a longer quoted sentence (\"No sir, I have got...\" \u2192 \"No, sir, I have got...\"). Although it includes additional surrounding context, the essential punctuation change (adding the comma after \"No\") matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\"why did he dine to-",
            "corrected_text": "\"Why did he dine to-",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the initial \"why\" to \"Why\" in the phrase \"why did he dine\". The predicted edit applies the same core change (\"why\" \u2192 \"Why\") and simply includes extra surrounding context (a preceding quotation mark and following \"to-\"). Since the essential capitalization correction is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the cold stones!\"",
            "corrected_text": "the cold stones?\"",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation in the phrase \"cold stones!\" to \"cold stones?\". The prediction makes the same core change (exclamation point to question mark) within a slightly longer span (\"the cold stones!\\\"\" \u2192 \"the cold stones?\\\"\"), adding surrounding context (\"the\" and a closing quote). This still captures the essential intended edit."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:36.149019",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:00:28.406401",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "\"No sir,",
            "corrected_text": "\"No, sir,",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the types match exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"No\" in \"No sir\" \u2192 \"No, sir\". The prediction likewise inserts a comma after \"No\" in the broader context \"\\\"No sir,\" \u2192 \"\\\"No, sir,\". Although the prediction includes extra surrounding punctuation (an opening quotation mark and an existing trailing comma after \"sir\"), it correctly captures the core intended edit: adding the comma after \"No\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "\"why did he dine",
            "corrected_text": "\"Why did he dine",
            "observed_line_number": 30,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial \"why\" to \"Why\" (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction captures the same core change while including an additional leading quotation mark in both the original and corrected text (\"\\\"why did he dine\" \u2192 \"\\\"Why did he dine\"). This extra context does not alter the essential capitalization correction, so the intention is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "the cold stones!\"",
            "corrected_text": "the cold stones?\"",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction applies the same core change (\"!\" \u2192 \"?\") within a slightly longer span (\"the cold stones!\\\"\" \u2192 \"the cold stones?\\\"\"). Including extra surrounding context (the word \"the\" and a closing quote) is acceptable, and the essential correction is captured accurately."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:44.427434",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:02:46.901781",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "\"No sir,",
            "corrected_text": "\"No, sir,",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma between \u201cNo\u201d and \u201csir\u201d (\"No sir\" \u2192 \"No, sir\"). The predicted edit likewise inserts a comma after \u201cNo\u201d (\"No sir,\" \u2192 \"No, sir,\"). Although the prediction includes extra surrounding context (an opening quote and an existing trailing comma), it still captures the core intended change: adding the comma after \u201cNo\u201d. Therefore, the essential punctuation correction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "\"why did he dine",
            "corrected_text": "\"Why did he dine",
            "observed_line_number": 30,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial word from \"why\" to \"Why\" in the phrase \"why did he dine.\" The prediction applies the same core capitalization change (\"why\" \u2192 \"Why\") and simply includes an additional leading quotation mark in both the original and corrected text. This added context does not alter the essential intended correction, so the core change is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "the cold stones!\"",
            "corrected_text": "the cold stones?\"",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation in \"cold stones!\" to \"cold stones?\" (exclamation to question mark). The prediction performs the same core change (! \u2192 ?) on the same phrase, merely including additional surrounding context (the preceding word \"the\" and a closing quote). Since the essential punctuation correction is captured, the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:34.780420",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:58:40.138356",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"if he\" to \"If he,\" capturing the same core capitalization change with identical original and corrected text. Therefore, the prediction correctly reflects the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the verb \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The predicted edit captures this core change by replacing \"said\" with \"asked\". Although it omits the surrounding context word \"Clennam\" in the original/corrected_text fields, this does not alter the essential intended correction (said \u2192 asked), so it accurately reflects the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:30.597145",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:00:30.305931",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text \"if he\" and corrected text \"If he,\" capturing the identical core change (capitalizing the initial 'I'). Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both identify the same original text (\"said Clennam\") and the same corrected text (\"asked Clennam\"), capturing the identical core change with no discrepancies. Therefore, the predicted edit correctly matches the ground truth intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:30.736663",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:02:38.507971",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:44.281299",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:58:27.032568",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road,\" capturing the identical core change (hyphenation). Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"materials\" to turn \"materials costing\" into \"materials, costing\". The core punctuation correction is captured identically.\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core change: inserting a comma so that \"about and\" becomes \"about, and.\" The original and corrected text match the ground truth\u2019s intended punctuation change.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"association, did\") and the same corrected text (\"association did\"), capturing the core intended change: removal of the comma after \"association\". Line number differences are irrelevant per instructions. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 21,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". This captures the same core punctuation correction with identical original and corrected text.\n\nTherefore, ignoring line numbers, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction also adds a comma immediately after \"said\" within a larger context (\"always said when\" \u2192 \"always said, when\"). This captures the same core punctuation correction, just with additional surrounding words. Therefore, the essential edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said;",
            "corrected_text": "and said,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:48.791222",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:00:37.998260",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"high road\" to \"high-road,\" capturing the identical core punctuation change (inserting a hyphen). No discrepancy in original or corrected text content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"materials\" to change \"materials costing\" to \"materials, costing\". The original and corrected text fields match the ground truth exactly.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"about\" to convert \"about and\" into \"about, and.\" The core punctuation correction is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), inserting a comma after \"earnestly\". The core change is identical, so the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"said\" and \"when\" (\"said when\" \u2192 \"said, when\"). The predicted edit applies the same comma insertion in the same location, but includes extra surrounding context (\"always\" before the phrase). This added context does not alter the core intended correction. Therefore, the essential punctuation change is correctly captured."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The prediction performs the same core punctuation change\u2014adding a comma after \"Clennam\"\u2014but includes extra surrounding context (\"amazement\"). This additional context does not alter the essential edit, so it correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion, did not mend",
            "corrected_text": "tion did not mend",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said;",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:49.219730",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:03:02.429145",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "broad high road",
            "corrected_text": "broad high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to hyphenate \"high road\" \u2192 \"high-road\". The prediction applies the same core change, but includes extra surrounding context: \"broad high road\" \u2192 \"broad high-road\". This still captures the essential intended edit (inserting the hyphen between \"high\" and \"road\"), so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"materials costing\" to \"materials, costing\", correctly capturing the insertion of a comma after \"materials\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tossed about and",
            "corrected_text": "tossed about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"about\" in the phrase \"about and\" \u2192 \"about, and\". The prediction applies the same core punctuation change, just with additional surrounding context: \"tossed about and\" \u2192 \"tossed about, and\". The essential edit (adding the comma after \"about\") is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly.\" The core punctuation change is identical with no discrepancies."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit inserts a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The predicted edit does the same comma insertion after \"said\" but includes additional surrounding context (\"always\"). This added context does not change the core intended correction, which is the comma insertion after \"said.\" Therefore, the prediction captures the essential change."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction adds a comma after \"said\" as well, but includes extra preceding context (\"and said\" \u2192 \"and said,\"). This preserves the same core punctuation change\u2014placing a comma immediately after \"said\"\u2014so it correctly captures the intended edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth core change is inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The predicted edit also inserts a comma after \"Clennam\" (\"Clennam in amazement\" \u2192 \"Clennam, in amazement\"). The prediction includes extra surrounding context (\"amazement\"), but the essential punctuation change is the same and correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did not mend",
            "corrected_text": "tion, did not mend",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:49.105455",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:58:19.489777",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I,",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:04:49.558668",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:00:26.720211",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to make the title end with a period (\"Sun and Shadow\" \u2192 \"Sun and Shadow.\"). The predicted edit also results in the title ending with a period (\"Sun and Shadow,\" \u2192 \"Sun and Shadow.\"). Although the predicted original_text includes a comma that is not present in the ground truth original_text, the core intended correction\u2014ensuring the title ends with a period\u2014is correctly captured."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:08.776695",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:02:37.158194",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:19.975006",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:58:28.839379",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify changing \"Let Loose\" to \"Let Loose.\" by adding a period at the end. The core change is identical, with matching original and corrected text. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"dull autumn\" and the same corrected text \"dull, autumn\", capturing the identical core change (inserting a comma after \"dull\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction applies the same core change\u2014adding a comma after \"man\"\u2014but includes additional surrounding context (\"One\"). This extra context does not alter the essential correction, and the intended punctuation change is captured correctly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original segment \"Chalons was\" and the same corrected segment \"Chalons, was\", capturing the identical core change (inserting a comma after \"Chalons\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden with wet",
            "corrected_text": "soddened with wet",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes \"sodden\" \u2192 \"soddened\". The predicted edit changes \"sodden with wet\" \u2192 \"soddened with wet\", which includes additional surrounding context but preserves the same core substitution (\"sodden\" \u2192 \"soddened\"). Therefore, the essential intended correction is correctly captured."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees against",
            "corrected_text": "poplar-trees, against",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:23.918545",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:00:51.058361",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both edits change \"Let Loose\" to \"Let Loose.\" by adding a period at the end. This captures the exact core punctuation correction intended in the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit type matches exactly: both are labeled as \"punctuation\". Text content also matches the ground truth\u2019s core change: inserting a comma after \"dull\" to change \"dull autumn\" into \"dull, autumn\". No discrepancies in original or corrected text relevant to the intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"replacement\", so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the o). The original and corrected texts match the ground truth\u2019s intended change exactly.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core change is identical with no discrepancies in original or corrected text. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The predicted edit does the same core change, just with additional surrounding context (\"One man slowly\" \u2192 \"One man, slowly\"). The essential punctuation insertion is identical in intention and placement.\n\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change, inserting a comma after \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The core punctuation correction is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with wet",
            "corrected_text": "soddened with wet",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:23.975944",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:02:58.094119",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a period to \"Let Loose\" to make it \"Let Loose.\" The original and corrected texts match the ground truth\u2019s intention precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original phrase \"dull autumn\" and the same corrected phrase \"dull, autumn\", capturing the identical core change (insertion of a comma after \"dull\"). Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The original and corrected texts are identical between ground truth and prediction, so the core change is captured correctly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core change is identical with no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma after \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction makes the same core punctuation change, just with additional preceding context (\"One man slowly\" \u2192 \"One man, slowly\"). The essential intended edit\u2014adding a comma after \"man\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change, inserting a comma after \"Chalons\" so that \"Chalons was\" becomes \"Chalons, was\". The core punctuation change is identical in original and corrected text. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with wet",
            "corrected_text": "soddened with wet",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are \"replacement\" edits, so the type matches exactly.\n2. Text Content Accuracy: The ground truth replaces \"sodden\" with \"soddened.\" The prediction replaces the longer span \"sodden with wet\" with \"soddened with wet,\" which includes extra surrounding context but preserves the same core change (\"sodden\" \u2192 \"soddened\"). Therefore, it correctly captures the intended correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees against",
            "corrected_text": "poplar-trees, against",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:17.939783",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:58:45.065640",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The prediction applies the same core punctuation change, adding a comma after \"heart\", while including extra surrounding context (\"heart so much\" \u2192 \"heart, so much\"). This preserves the essential intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she did",
            "corrected_text": "(as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The core intended change is inserting the word \"indeed\" into the phrase \"as she did\" to make it \"as indeed she did.\" The predicted edit makes the same insertion, merely including an extra preceding parenthesis \"(\" as additional context in both the original and corrected strings. Since the essential modification (adding \"indeed\") is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core punctuation insertion in the corresponding phrase, but includes additional surrounding context (\"at length said\" \u2192 \"at length, said\"). This extra word does not alter the essential intended edit, which is the comma after \"length.\""
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly. Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (tense shift from hope \u2192 hoped). Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Good, generous Mr.",
            "corrected_text": "Good, generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:20.723911",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:00:50.331309",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The prediction applies the same core punctuation change but includes additional surrounding context (\"heart so much\" \u2192 \"heart, so much\"). This still captures the essential intended correction: adding a comma after \"heart\" before \"so\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she did",
            "corrected_text": "(as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the type matches.\n\n2) Text Content Accuracy: The core intended change is inserting the word \"indeed\" into the phrase \"as she did\" to make \"as indeed she did.\" The prediction captures this exact insertion. The additional leading parenthesis \"(\" included in both the predicted original_text and corrected_text is extra surrounding context and does not alter the essential edit. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction inserts the same comma in the same location, but includes additional surrounding context (\"at length said\" \u2192 \"at length, said\"). This still captures the core intended punctuation change.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (tense shift from hope \u2192 hoped). Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Good, generous Mr.",
            "corrected_text": "Good, generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:19.101632",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:02:57.850057",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"heart so\") and the same correction (\"heart, so\"), capturing the identical core change of inserting a comma after \"heart.\" Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she did",
            "corrected_text": "(as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The core intended change is inserting the word \"indeed\" into the phrase \"as she did\" to make it \"as indeed she did.\" The prediction captures this same insertion, merely including an extra preceding parenthesis as additional context: \"(as she did\" \u2192 \"(as indeed she did.\" Since the essential modification (adding \"indeed\" after \"as\") is correctly represented, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core punctuation change\u2014adding a comma after \"length\" before \"said\"\u2014but includes additional surrounding context (\"at length said\" \u2192 \"at length, said\"). This extra context does not alter the essential edit, which is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change from present to past tense. No discrepancies in content."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness)",
            "corrected_text": "ness),",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:23.368805",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:58:35.265130",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" (\"hers and\" \u2192 \"hers, and\"). The prediction applies the same core punctuation change, only with additional preceding context (\"from hers and\" \u2192 \"from hers, and\"). The essential intended edit\u2014the comma insertion after \"hers\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters little",
            "corrected_text": "on hers, matters little",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers matters\" \u2192 \"hers, matters\". The predicted edit also inserts a comma after \"hers\" (\"on hers matters little\" \u2192 \"on hers, matters little\"). Although the prediction includes additional surrounding context, it captures the same core punctuation change at the same location. Therefore, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment with",
            "corrected_text": "for a moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"moment\" (\"moment with\" \u2192 \"moment, with\"). The prediction performs the same core punctuation change\u2014adding a comma after \"moment\"\u2014but includes additional surrounding context (\"for a moment with\" \u2192 \"for a moment, with\"). Since the essential change is identical, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so beautiful that",
            "corrected_text": "so beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The core intended change is inserting a comma after \"beautiful\" (i.e., changing \"beautiful that\" to \"beautiful, that\"). The prediction applies the same comma insertion in the same location, but includes additional surrounding context (\"so\"). Adding extra context is allowed as long as the essential punctuation change is captured, which it is."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\u201cthey are to be married.\u201d",
            "corrected_text": "\u201cThey are to be married.\u201d",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"they\" to \"They.\" The predicted edit performs the same core change, but includes additional surrounding context (the full quoted sentence). This still captures the essential intended correction: initial \"they\" \u2192 \"They.\" Therefore, the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:24.507949",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:00:42.415327",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after \"hers\" (\"hers and\" \u2192 \"hers, and\"). The prediction performs the same core change, adding the comma after \"hers\", but includes extra surrounding context (\"from hers and\" \u2192 \"from hers, and\"). This preserves the essential intended punctuation correction.\n\nBecause both the edit type and the core textual change match the ground truth\u2019s intention, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters little",
            "corrected_text": "on hers, matters little",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The predicted edit also inserts a comma after \"hers\" within a longer surrounding phrase (\"on hers matters little\" \u2192 \"on hers, matters little\"). Although it includes extra context words, it captures the same core punctuation change at the same location.\n\nTherefore, the predicted edit correctly reflects the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a moment with a look",
            "corrected_text": "a moment, with a look",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"moment\" (\"moment with\" \u2192 \"moment, with\"). The prediction applies the same core punctuation change within a longer span of text (\"a moment with a look\" \u2192 \"a moment, with a look\"). Including extra surrounding words is acceptable, and the essential intended edit\u2014adding a comma after \"moment\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so beautiful that it was well",
            "corrected_text": "so beautiful, that it was well",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"beautiful\" and \"that\" (\"beautiful that\" \u2192 \"beautiful, that\"). The prediction applies the same core punctuation change\u2014adding a comma after \"beautiful\"\u2014but includes extra surrounding context (\"so beautiful that it was well\" \u2192 \"so beautiful, that it was well\"). This still captures the essential intended edit (comma insertion after \"beautiful\"), so the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\u201cthey are to be married.\u201d",
            "corrected_text": "\u201cThey are to be married.\u201d",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the word \"they\" to \"They.\" The predicted edit applies that same capitalization change, showing it within a larger quoted context (\"they are to be married.\" \u2192 \"They are to be married.\"). Including additional surrounding words is acceptable, and the core change (lowercase 'they' to capitalized 'They') is correctly captured."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:25.452997",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:02:41.525863",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and\". The predicted edit does the same core change but includes additional surrounding context: \"from hers and\" \u2192 \"from hers, and\". The essential punctuation insertion (comma after \"hers\") is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction also inserts a comma after \"hers\" within a longer phrase (\"on hers matters\" \u2192 \"on hers, matters\"). Although it includes additional surrounding context (the preceding word \"on\"), the core intended punctuation change is the same.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "a moment with",
            "corrected_text": "a moment, with",
            "observed_line_number": 26,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change is inserting a comma after the word \"moment\" in the phrase \"moment with\" \u2192 \"moment, with.\" The predicted edit does the same comma insertion, simply including an extra preceding word (\"a moment with\" \u2192 \"a moment, with\"). This added context does not alter the essential punctuation change and correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "so beautiful that",
            "corrected_text": "so beautiful, that",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that.\" The prediction likewise inserts a comma after \"beautiful\" (\"so beautiful that\" \u2192 \"so beautiful, that\"), merely including the additional preceding context word \"so.\" The essential punctuation change is the same and correctly captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "\u201cthey are to be married.\u201d",
            "corrected_text": "\u201cThey are to be married.\u201d",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:30.357336",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:58:46.575055",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: removing the comma in \"that, in\" to make it \"that in\". The original and corrected text match the ground truth\u2019s intended punctuation removal with no deviation."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change\u2014removing the comma between \"fancy\" and \"whatever\" (\"fancy, whatever\" \u2192 \"fancy whatever\"). The corrected text matches the ground truth intention precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation in the phrase from \"Thank you!\" to \"Thank you,\" (exclamation mark to comma). The prediction performs the same core change, just with additional surrounding context (quotation marks): \"Thank you!\" \u2192 \"Thank you,\". Since the essential punctuation change is identical and extra context is allowed, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "than once were",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is specifically \"that\" \u2192 \"than.\" The predicted edit expands the span to \"that once were\" \u2192 \"than once were,\" but the core intended correction (replacing \"that\" with \"than\") is preserved exactly, with only additional surrounding context included. This matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:27.743269",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:00:27.701476",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "\u201cThank you!\u201d",
            "corrected_text": "\u201cThank you,\u201d",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation in \"Thank you!\" to \"Thank you,\" (exclamation mark replaced with a comma). The prediction performs the same core change, but includes surrounding quotation marks as additional context: \u201cThank you!\u201d \u2192 \u201cThank you,\u201d. This preserves the essential intended correction (replacing ! with ,), so the text content accurately matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change: inserting a comma to change \"shore and\" to \"shore, and.\" The original and corrected text strings match the ground truth\u2019s intended punctuation edit. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "things that once",
            "corrected_text": "things than once",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is replacing the word \"that\" with \"than\". The predicted edit replaces the phrase \"things that once\" with \"things than once\", which includes the same essential substitution (\"that\" \u2192 \"than\") with additional surrounding context. Since the central correction is preserved, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy whatever",
            "corrected_text": "that, in our fancy, whatever",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:49.459816",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:02:37.651789",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cThank you!\u201d",
            "corrected_text": "\u201cThank you,\u201d",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation point to a comma (\"Thank you!\" \u2192 \"Thank you,\"). The prediction makes the same core change (! \u2192 ,) and merely includes additional surrounding context by retaining the quotation marks (\"\u201cThank you!\u201d\" \u2192 \"\u201cThank you,\u201d\"). This preserves the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"shore\" in the phrase \"shore and\" to make it \"shore, and.\" The original_text and corrected_text align with the ground truth\u2019s intended punctuation change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "things that once",
            "corrected_text": "things than once",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing the word \"that\" with \"than\". The prediction replaces the phrase \"things that once\" with \"things than once\", which preserves the same core substitution (\"that\" \u2192 \"than\") while including additional surrounding context. This correctly captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that, in our fancy, whatever",
            "corrected_text": "that in our fancy whatever",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:06:16.555208",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:58:49.762565",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to convert \"Chapter XXIX\" into \"Chapter XXIX.\". The original_text and corrected_text are identical between ground truth and prediction, capturing the intended punctuation correction precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MRS. FLINTWINCH GOES ON DREAMING",
            "corrected_text": "MRS. FLINTWINCH GOES ON DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period after the word \"DREAMING\" (\"DREAMING\" \u2192 \"DREAMING.\"). The predicted edit applies the same punctuation change at the end of a longer phrase ending in \"DREAMING\" (\"... DREAMING\" \u2192 \"... DREAMING.\"). This includes additional surrounding context but captures the same core correction: inserting a period immediately after \"DREAMING\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the city",
            "corrected_text": "the City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is specifically \"city\" \u2192 \"City\". The prediction expands the span to include surrounding context (\"the city\" \u2192 \"the City\"), but the only substantive change is still the capitalization of \"city\" to \"City\". This captures the core intended edit accurately."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "reluctant return of",
            "corrected_text": "reluctant return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are of type \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth replaces the word \"of\" with \"to\". The predicted edit replaces the longer span \"reluctant return of\" with \"reluctant return to\", which includes additional surrounding context but preserves the same core correction (changing \"of\" to \"to\"). Therefore, the prediction captures the essential intended change."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "familiar with them,",
            "corrected_text": "familiar with them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes a comma after \"them\" (\"them,\") to a semicolon (\"them;\"). The predicted edit applies the same punctuation change (comma to semicolon) at the same point, merely including extra surrounding context (\"familiar with\"). This still captures the core intended correction.\n\nTherefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change within a longer span of surrounding context (\"busy existence at\" \u2192 \"busy existence, at\"), which still places the comma immediately after \"existence\". The additional words included do not alter the essential intended punctuation correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes a comma to a semicolon after the word \"it\" (\"it,\" \u2192 \"it;\"). The predicted edit also changes the comma to a semicolon in the same location, merely including extra surrounding context (\"it, to suppose\" \u2192 \"it; to suppose\"). The core punctuation change is identical, so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change, adding a comma after \"motionless\" in the slightly larger context of the following word (\"motionless when\" \u2192 \"motionless, when\"). This captures the essential intended punctuation insertion.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a stand-still, to",
            "corrected_text": "a stand-still; to",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2. Text Content Accuracy: The ground truth changes the punctuation after \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction makes the same core change, simply including additional surrounding context (\"a \" before and \" to\" after): \"a stand-still,\" \u2192 \"a stand-still; to\". This captures the essential intended correction."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "our view by",
            "corrected_text": "our view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change in a longer snippet (\"our view by\" \u2192 \"our view, by\"), which still clearly captures inserting a comma immediately after \"view\". The added surrounding context does not alter the essential edit.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": 10,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "contracted existence, is",
            "corrected_text": "contracted existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after the word \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction applies the same core change within a larger surrounding span (\"contracted existence, is\" \u2192 \"contracted existence; is\"). Although it includes additional context words, the essential intended correction\u2014replacing the comma after \"existence\" with a semicolon\u2014is correctly captured."
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:06:12.126776",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:00:41.198805",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Chapter XXIX\") and the same corrected text (\"Chapter XXIX.\"), capturing the core intended change of adding a period. Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the city",
            "corrected_text": "the City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which matches the ground truth exactly.\n2) Text Content Accuracy: The ground truth changes \"city\" to \"City\". The prediction changes \"the city\" to \"the City,\" which includes extra surrounding context but preserves the same core capitalization change on the word \"city.\" Therefore it captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "reluctant return of",
            "corrected_text": "reluctant return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces the word \"of\" with \"to\". The predicted edit replaces the phrase \"reluctant return of\" with \"reluctant return to\", which includes extra surrounding context but preserves the same core change: \"of\" \u2192 \"to\". Therefore, it correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "familiar with them,",
            "corrected_text": "familiar with them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"them\" from a comma to a semicolon (\"them,\" \u2192 \"them;\"). The predicted edit applies the same core change, but includes extra surrounding context (\"familiar with them,\" \u2192 \"familiar with them;\"). This still captures the essential intended correction: replacing the comma with a semicolon after \"them\".\n\nTherefore, the predicted edit correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit adds a comma after \"existence\" within a longer phrase (\"busy existence at\" \u2192 \"busy existence, at\"). This includes additional surrounding context but captures the same core punctuation change at the same word boundary.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change the same original text \"it,\" to the same corrected text \"it;\". This captures the core intended punctuation change (comma to semicolon) with no discrepancy."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit applies the same core change within a slightly larger context (\"motionless when\" \u2192 \"motionless, when\"), which still places the comma after \"motionless.\" This captures the essential intended punctuation correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a stand-still,",
            "corrected_text": "a stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The predicted edit performs the same core change, just with additional left context (\"a stand-still,\" \u2192 \"a stand-still;\"). Including extra surrounding words is acceptable as long as the essential punctuation change is captured, which it is.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "our view by",
            "corrected_text": "our view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction adds the same comma after \"view\" within a larger context (\"our view by\" \u2192 \"our view, by\"). This captures the same core punctuation insertion intended by the ground truth, just with extra surrounding words included.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "contracted existence,",
            "corrected_text": "contracted existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation immediately following \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction applies the same core punctuation change at the same point, but includes additional surrounding context (\"contracted existence,\" \u2192 \"contracted existence;\"). Including extra preceding words is allowed as long as the essential change is the same, which it is here (comma \u2192 semicolon after \"existence\")."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:06:18.140146",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:02:58.772699",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Chapter XXIX\" to \"Chapter XXIX.\" by adding a period at the end. The core intended punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MRS. FLINTWINCH GOES ON DREAMING",
            "corrected_text": "MRS. FLINTWINCH GOES ON DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a period to \"DREAMING\" \u2192 \"DREAMING.\". The prediction adds a period at the end of a longer string ending in the same target word: \"MRS. FLINTWINCH GOES ON DREAMING\" \u2192 \"MRS. FLINTWINCH GOES ON DREAMING.\". This captures the same core intended correction (adding a final period after DREAMING), merely with additional surrounding context."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the city",
            "corrected_text": "the City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is capitalizing \"city\" to \"City\". The prediction applies the same capitalization change within a slightly larger context (\"the city\" \u2192 \"the City\"). This preserves the core intended edit (capitalizing the word \"city\"). Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "reluctant return of",
            "corrected_text": "reluctant return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing the word \"of\" with \"to\". The predicted edit replaces the phrase \"reluctant return of\" with \"reluctant return to\", which includes additional surrounding context but preserves the essential substitution of \"of\" \u2192 \"to\". This correctly captures the core intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "familiar with them,",
            "corrected_text": "familiar with them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"them\" from a comma to a semicolon (\"them,\" \u2192 \"them;\"). The prediction performs the same core change, only with additional surrounding context (\"familiar with them,\" \u2192 \"familiar with them;\"). Since the essential punctuation change is identical, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit adds a comma after \"existence\" within a longer span (\"busy existence at\" \u2192 \"busy existence, at\"). This captures the same core punctuation change, merely with additional surrounding context.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The core intended change is replacing a comma after \"it\" with a semicolon (\"it,\" \u2192 \"it;\"). The predicted edit performs the same comma-to-semicolon substitution, merely including additional surrounding context (\"to suppose\"). This still captures the essential punctuation change identified in the ground truth."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma immediately after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core punctuation change, adding a comma after \"motionless\" while including extra surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This preserves the essential intended edit.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a stand-still, to",
            "corrected_text": "a stand-still; to",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction performs the same core change, merely including extra surrounding context (\"a stand-still, to\" \u2192 \"a stand-still; to\"). The essential correction (comma \u2192 semicolon after \"stand-still\") is correctly captured."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "our view by",
            "corrected_text": "our view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction expands the span to include surrounding context (\"our view by\" \u2192 \"our view, by\"), but the core change is the same: a comma is added immediately after \"view\". The extra context does not alter the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": 10,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "contracted existence, is",
            "corrected_text": "contracted existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is specifically replacing the comma after \"existence,\" with a semicolon (\"existence; \"). The predicted edit performs the same core punctuation substitution at the same point, merely including additional surrounding context (\"contracted\" before and \"is\" after). This still captures the essential intended correction."
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:06:02.688889",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:59:23.652541",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The predicted edit also inserts a comma after \"now\" within a longer phrase (\"now I have paid it\" \u2192 \"now, I have paid it\"). This includes extra surrounding context but preserves the same core punctuation change. Therefore, it correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\nText Content Accuracy: Both replace the same original word \"authorize\" with the same corrected word \"authorise\". The core intended change (American to British spelling) is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam;",
            "corrected_text": "said Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Your own recompense",
            "corrected_text": "Your own recompense",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that-boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty;",
            "corrected_text": "at twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "out of him, than",
            "corrected_text": "out of him than",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:06:10.257131",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:01:39.762683",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\nText Content Accuracy: Both target the same word \"him\" with no change in text content other than applying italics. The prediction captures the same core intended change (italicizing \"him\").\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The predicted edit also inserts a comma after \"now\" (\"now I have paid it\" \u2192 \"now, I have paid it\"). Although the prediction includes additional surrounding words, it captures the same essential punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the original text \"authorize\" with the corrected text \"authorise\". The core intended change (American to British spelling) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam;",
            "corrected_text": "said Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that-boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty;",
            "corrected_text": "at twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:06:07.942147",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:03:47.916495",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "out of him",
            "corrected_text": "out of *him*",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates that the word \"him\" should be italicized (with no change to the surrounding text). The prediction expands the scope to include surrounding context (\"out of him\" \u2192 \"out of *him*\"), but the core change still correctly italicizes only the word \"him\". Including extra surrounding words as context is acceptable, and it does not alter the intended core edit.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The predicted edit also inserts a comma after \"now\" and includes extra surrounding context (\"now I have paid it\" \u2192 \"now, I have paid it\"). This preserves the same core punctuation change and correctly captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both replace the same original word \"authorize\" with the same corrected form \"authorise\". The core intended change (American to British spelling) is captured identically. Therefore, the predicted edit matches the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam;",
            "corrected_text": "said Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that-boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty;",
            "corrected_text": "at twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:53.472954",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T03:59:09.154763",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text \"For Mr. Pancks\" and the same corrected text \"For, Mr. Pancks\", capturing the core intended change (inserting a comma after \"For\"). Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so quickly that",
            "corrected_text": "so quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"quickly\" in the sequence \"quickly that\" \u2192 \"quickly, that.\" The prediction likewise inserts a comma after \"quickly\" (\"so quickly that\" \u2192 \"so quickly, that\"), adding extra preceding context (\"so\") but preserving the same core punctuation change at the same point. This correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "making me not",
            "corrected_text": "making me a not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:05:56.251299",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:01:13.128018",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"For Mr. Pancks\") and the same correction (inserting a comma after \"For\" to make \"For, Mr. Pancks\"). The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so quickly that",
            "corrected_text": "so quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"quickly\" in the phrase \"quickly that\" \u2192 \"quickly, that\". The prediction applies the same core change (comma after \"quickly\") but includes additional surrounding context: \"so quickly that\" \u2192 \"so quickly, that\". This preserves the essential intended punctuation correction, so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not that",
            "corrected_text": "making me, not that",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_claude_opus_5",
        "date": "2026-09-06T04:06:00.242724",
        "annotator": "Claude Opus 5 (OR)",
        "annotation_date": "2026-09-06T04:03:25.793989",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"For Mr. Pancks\") and the same correction (inserting a comma after \"For\" to make \"For, Mr. Pancks\"). The core punctuation change is captured precisely with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so quickly that",
            "corrected_text": "so quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"quickly\" (\"quickly that\" \u2192 \"quickly, that\"). The prediction performs the same core change\u2014adding a comma after \"quickly\"\u2014but includes extra surrounding context (\"so quickly that\" \u2192 \"so quickly, that\"). Including additional context is acceptable as long as the essential punctuation change is the same, which it is.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "making me, not",
            "corrected_text": "making me a, not",
            "observed_line_number": 21,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts the word \"a\" after \"me\" (\"me,\" \u2192 \"me a,\"). The predicted edit also inserts \"a\" in the same location within a larger context string (\"making me, not\" \u2192 \"making me a, not\"). Including extra surrounding words is acceptable, and the core change\u2014adding \"a\" after \"me\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2026-07-24",
    "release_source": "https://www.anthropic.com/news/claude-opus-5",
    "release_notes": "Fifth-generation Opus model. Benchmark configuration uses high reasoning effort.",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit."
  },
  {
    "model_name": "Claude Sonnet 4.5",
    "model_id": "claude-sonnet-4.5",
    "date": "2026-03-08T11:24:47.461208",
    "shots": 2,
    "config": {
      "model_id": "claude-sonnet-4.5",
      "display_name": "Claude Sonnet 4.5",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-03-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Claude Sonnet 4.5",
    "annotation_date": "2026-03-08T09:51:43.868643",
    "file_results": [
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:24:39.482517",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:51:43.868643",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over yonder to-day",
            "corrected_text": "howling, over yonder, to-day",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day sir",
            "corrected_text": "to-day, sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:13:21.286007",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:35:34.523003",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over yonder to-day",
            "corrected_text": "howling, over yonder, to-day",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day sir",
            "corrected_text": "to-day, sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:13:48.329720",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:54:18.892143",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over yonder to-day",
            "corrected_text": "howling over yonder, to-day,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:25:07.522211",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:52:19.922926",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones?",
            "corrected_text": "stones!",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "knew,",
            "corrected_text": "knew",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at;",
            "corrected_text": "at,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir?",
            "corrected_text": "sir",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:14:14.253862",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:36:09.457146",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones?",
            "corrected_text": "stones!",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "knew,",
            "corrected_text": "knew",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at;",
            "corrected_text": "at,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir?",
            "corrected_text": "sir",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:14:42.188777",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:54:55.578090",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones?",
            "corrected_text": "stones!",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "knew,",
            "corrected_text": "knew",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at;",
            "corrected_text": "at,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir?",
            "corrected_text": "sir",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:25:39.366190",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:52:54.924174",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 42,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \u201csaid\u201d with \u201casked\u201d in the phrase \u201csaid Clennam\u201d \u2192 \u201casked Clennam.\u201d The prediction replaces \u201csaid\u201d \u2192 \u201casked\u201d without including the following context \u201cClennam,\u201d but it captures the essential intended change (the word substitution from \u201csaid\u201d to \u201casked\u201d). Additional surrounding context is optional, so this still matches the core correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "If he",
            "corrected_text": "If he cap",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:15:11.915430",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:36:43.694192",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 42,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces the word \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution \"said\" \u2192 \"asked\" but with less surrounding context (it omits \"Clennam\"). Since the essential intended change is the replacement of \"said\" with \"asked\", the prediction matches the ground truth\u2019s intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "If he",
            "corrected_text": "If he cap",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:15:45.277168",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:55:30.778493",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 42,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n2. Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" within the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction replaces \"said\" with \"asked\" (without including the following context \"Clennam\"), but it captures the core intended change. Extra surrounding context is optional, so this matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "If he",
            "corrected_text": "If he cap",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:26:18.506180",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:53:31.712694",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when\". The prediction captures this core change by editing \"said\" \u2192 \"said,\". Although it does not include the following word \"when\" in its original/corrected text span, it still reflects the essential intended punctuation insertion (a comma immediately after \"said\"). Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"Clennam in\" to \"Clennam, in\" by inserting a comma after \"Clennam\". The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:16:20.401147",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:37:19.666983",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the sequence \"said when\" \u2192 \"said, when\". The predicted edit \"said\" \u2192 \"said,\" captures the same core punctuation change (adding a comma immediately after \"said\"). Although it omits the following word \"when\", it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"Clennam in\" to \"Clennam, in\", correctly inserting a comma after \"Clennam\". The core intended punctuation correction is captured exactly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:16:55.039677",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:56:08.158464",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when\". The predicted edit \"said\" \u2192 \"said,\" captures this same core punctuation change (adding a comma immediately after \"said\"). Although it omits the following word \"when\" from the original/corrected strings, it still represents the essential intended correction: inserting the comma after \"said\" before what follows."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"Clennam in\" to \"Clennam, in,\" inserting a comma after \"Clennam.\" The core punctuation correction is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:12:40.484914",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:54:05.924093",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I,",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:17:15.951392",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:37:53.849420",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I,",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:17:38.815974",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:56:42.554546",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I,",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:26:57.544398",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:54:47.818212",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heavily; and",
            "corrected_text": "heavily, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "poplar-trees",
            "corrected_text": "poplar trees",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "solitary; and",
            "corrected_text": "solitary, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hand; miry, footsore,",
            "corrected_text": "hand, miry, footsore,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "untrimmed; the",
            "corrected_text": "untrimmed, the",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "difficulty; he",
            "corrected_text": "difficulty, he",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shrinkingly;",
            "corrected_text": "shrinkingly,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sa\u00f4ne",
            "corrected_text": "Sa\u00f4ne.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar trees hyphen",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons,was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with wet; limping",
            "corrected_text": "sodden with wet, limping",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:18:12.285918",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:38:39.002456",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heavily; and",
            "corrected_text": "heavily, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "solitary; and",
            "corrected_text": "solitary, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons, was",
            "corrected_text": "Chalons was",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hand; miry, footsore,",
            "corrected_text": "hand, miry, footsore,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "untrimmed; the",
            "corrected_text": "untrimmed, the",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "difficulty; he",
            "corrected_text": "difficulty, he",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shrinkingly;",
            "corrected_text": "shrinkingly,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "muttering.",
            "corrected_text": "muttering:",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sa\u00f4ne",
            "corrected_text": "Sa\u00f4ne.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar trees, hyphen",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with wet; limping",
            "corrected_text": "sodden with wet, limping",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:18:46.207011",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:57:22.868544",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heavily; and",
            "corrected_text": "heavily, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees, hyphen",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "solitary; and",
            "corrected_text": "solitary, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons, was",
            "corrected_text": "Chalons was",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hand; miry, footsore,",
            "corrected_text": "hand, miry, footsore,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "untrimmed; the",
            "corrected_text": "untrimmed, the",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "difficulty; he",
            "corrected_text": "difficulty, he",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shrinkingly;",
            "corrected_text": "shrinkingly,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "muttering.",
            "corrected_text": "muttering:",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sa\u00f4ne",
            "corrected_text": "Sa\u00f4ne.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with wet; limping",
            "corrected_text": "sodden with wet, limping",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:27:26.500395",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:55:22.174350",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core intended punctuation correction is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr",
            "corrected_text": "generous, Mr",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hope so",
            "corrected_text": "hope so;",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as she did, if it be the source of earnest-",
            "corrected_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (indeed, as she did, if it be the source of earnest-",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:19:17.805766",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:39:17.852086",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"heart so\" to \"heart, so,\" inserting a comma after \"heart.\" The core punctuation change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "as",
            "corrected_text": "(as",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestness)",
            "corrected_text": "earnestness),",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped so",
            "corrected_text": "I hope so",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hope so;",
            "corrected_text": "hope so:",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "tially",
            "corrected_text": "indeed",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:19:49.910921",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:58:01.443567",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"heart\" in the phrase \"heart so\" to make it \"heart, so\". The original and corrected text fields are identical between ground truth and prediction, capturing the core intended punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr",
            "corrected_text": "generous, Mr",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hope so",
            "corrected_text": "hope so;",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as she did, if it be the source of earnest-",
            "corrected_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (indeed, as she did, if it be the source of earnest-",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:27:51.009445",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:56:04.997445",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "here and",
            "corrected_text": "here, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:20:13.858947",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:39:54.571059",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "here and",
            "corrected_text": "here, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "this, he",
            "corrected_text": "this, He",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly, \"they",
            "corrected_text": "directly, \"They",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:20:41.444590",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:58:39.360662",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "here and",
            "corrected_text": "here, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "At this, he thought directly, \"they are to be married.\"",
            "corrected_text": "At this, he thought directly, \"They are to be married.\"",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:28:23.317199",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:56:44.395311",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Ignoring line numbers as instructed, the prediction fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"within doors\" to \"within-doors\". The prediction makes the same core change from \"within doors\" to \"within-doors\" with no discrepancy in the original or corrected text. Line numbers are to be ignored, so the differing line number does not affect correctness.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I feel",
            "corrected_text": "I feel",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you!\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "moonlight,",
            "corrected_text": "moonlight, then",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"Thank you,\"",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:21:19.853290",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:40:32.587662",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"shore\" in the phrase \"shore and\" to make it \"shore, and\". The original_text and corrected_text match the ground truth\u2019s intended modification. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: Both edits replace \"within doors\" with \"within-doors\". The core intended change\u2014hyphenating the phrase\u2014is captured identically in the prediction. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I feel",
            "corrected_text": "I feel",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you!\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "moonlight,",
            "corrected_text": "moonlight, then",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"Thank you,\"",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:21:52.312534",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:59:16.127413",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"shore\" in the phrase \"shore and\" to make it \"shore, and\". The original_text and corrected_text are identical between ground truth and prediction, so the intended punctuation correction is fully captured. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: Both edits replace the same original text \"within doors\" with the same corrected text \"within-doors\", capturing the identical core change (hyphenation). Any line number discrepancy is to be ignored per instructions and does not affect the correctness of the edit content."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the word \"that\" with \"than\". This captures the same core textual change with identical original and corrected text. Line numbers are ignored as instructed, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I feel",
            "corrected_text": "I feel",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you!\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"Thank you,\"",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:28:52.556231",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:57:24.469582",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "these",
            "corrected_text": "these,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her",
            "corrected_text": "her;",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "concerned",
            "corrected_text": "concerned,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege",
            "corrected_text": "liege-",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wonder",
            "corrected_text": "wonder,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:22:20.940380",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:41:24.791608",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "luctant return",
            "corrected_text": "reluctant return",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "there",
            "corrected_text": "there,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her but",
            "corrected_text": "her; but",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "city",
            "corrected_text": "city (cap)",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:22:46.930809",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:59:55.470130",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "luctant return",
            "corrected_text": "reluctant return",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them",
            "corrected_text": "with them;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "there",
            "corrected_text": "there,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "when",
            "corrected_text": "when,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her but",
            "corrected_text": "her; but",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "city",
            "corrected_text": "city (cap)",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:29:30.192707",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:58:03.917484",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest snorts\" to \"driest of snorts\" (fixing the spelling \"dryest\"\u2192\"driest\" and inserting \"of\" between \"driest\" and \"snorts\"). The predicted edit makes the same core change: \"dryest snorts\" \u2192 \"driest of snorts\". Although the ground truth includes surrounding context (\"of the\" before and a period after), the prediction is allowed to include less context as long as the essential change is captured, which it is.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both replace the same original text \"authorize\" with the same corrected text \"authorise\", capturing the identical core spelling change. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "boiling over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "recompense",
            "corrected_text": "recompense",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:23:26.218356",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:42:01.490408",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts an additional \"of\" to make the phrase \"driest of snorts.\" The predicted edit makes the same core change: \"dryest snorts\" \u2192 \"driest of snorts.\" Although the prediction omits surrounding context (\"of the\" at the start) and the final period, it still captures the essential correction (spelling change + insertion of \"of\"). Therefore, the predicted edit matches the intention of the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both identify the same original text (\"authorize\") and the same corrected text (\"authorise\"), capturing the identical core change (American to British spelling). Line numbers are to be ignored, so the line mismatch does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that boiling-over",
            "corrected_text": "that-boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "recompense",
            "corrected_text": "recompense",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:23:59.841540",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T11:00:30.975768",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts an additional \"of\" so the phrase becomes \"driest of snorts.\" The predicted edit likewise changes \"dryest\" \u2192 \"driest\" and includes the inserted \"of\" before \"snorts\" (\"driest of snorts\"). Although the prediction omits surrounding context (\"of the\" and the final period), it still captures the core intended change accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 36,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both change the same original word \"authorize\" to the same corrected spelling \"authorise\". This captures the core intended correction (American to British spelling). Line numbers are to be ignored and do not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "boiling over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "recompense",
            "corrected_text": "recompense",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T10:29:57.002332",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T09:58:51.320814",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed. For Mr. Pancks",
            "corrected_text": "bed. For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction applies the same core punctuation change, but includes extra surrounding context (\"bed. For Mr. Pancks\" \u2192 \"bed. For, Mr. Pancks\"). This still captures the essential intended edit\u2014adding the comma after \"For\"\u2014so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "morning; and",
            "corrected_text": "morning; and,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mr. Rugg",
            "corrected_text": "Mr. Rugg,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "back; and",
            "corrected_text": "back; and,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "papers, and",
            "corrected_text": "papers, and,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, he",
            "corrected_text": "Clennam, he",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "down-stairs, and",
            "corrected_text": "down-stairs, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "course, resolved",
            "corrected_text": "course, resolved",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time; but",
            "corrected_text": "time; but",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "street, and",
            "corrected_text": "street, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "come, and",
            "corrected_text": "come, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "herself, but",
            "corrected_text": "herself, but",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was, and",
            "corrected_text": "was, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lady, \"who",
            "corrected_text": "lady, \"who",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and pray excuse",
            "corrected_text": "and pray excuse",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me; not",
            "corrected_text": "me; not",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur, \"for",
            "corrected_text": "Arthur, \"for",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "visit, but",
            "corrected_text": "visit, but",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur,\" returned",
            "corrected_text": "Arthur,\" returned",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Finching, \"pray",
            "corrected_text": "Finching, \"pray",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view, at",
            "corrected_text": "view, at",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view, but",
            "corrected_text": "view, but",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tenderly, and",
            "corrected_text": "tenderly, and",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time, but",
            "corrected_text": "time, but",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly, that",
            "corrected_text": "quickly, that",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:24:27.575707",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T10:42:49.968467",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed. For Mr. Pancks",
            "corrected_text": "bed. For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"For\" in \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The prediction applies the same core change, showing \"... For Mr. Pancks\" \u2192 \"... For, Mr. Pancks\" (with extra preceding context \"bed.\"). Including additional surrounding words is allowed, and the essential punctuation insertion is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mr. Rugg",
            "corrected_text": "Mr. Rugg,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "back; and",
            "corrected_text": "back, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "papers, and",
            "corrected_text": "papers and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, he",
            "corrected_text": "Clennam he",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "down-stairs, and",
            "corrected_text": "down-stairs and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly, that",
            "corrected_text": "quickly that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time; but",
            "corrected_text": "time, but",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "street, and",
            "corrected_text": "street and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "knocker, he",
            "corrected_text": "knocker he",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "come, and",
            "corrected_text": "come and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "herself, but",
            "corrected_text": "herself but",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was, and",
            "corrected_text": "was and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lady, \"who",
            "corrected_text": "lady \"who",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pray excuse",
            "corrected_text": "pray, excuse",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me; not",
            "corrected_text": "me, not",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur,\"",
            "corrected_text": "Arthur",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "visit, but",
            "corrected_text": "visit but",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur,\"",
            "corrected_text": "Arthur",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Finching, \"pray",
            "corrected_text": "Finching \"pray",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "un-questionably",
            "corrected_text": "unquestionably",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still 'tis",
            "corrected_text": "still, 'tis",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view, at",
            "corrected_text": "view at",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "con-siderably",
            "corrected_text": "considerably",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view, but",
            "corrected_text": "view but",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tenderly, and",
            "corrected_text": "tenderly and",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time, but",
            "corrected_text": "time but",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-sonnet-4.5",
        "date": "2026-03-08T11:24:47.461208",
        "annotator": "Claude Sonnet 4.5",
        "annotation_date": "2026-03-08T11:01:16.259508",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed. For Mr. Pancks",
            "corrected_text": "bed. For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction captures the same core punctuation insertion, just with additional preceding context (\"bed. \"). Since the essential edit\u2014adding the comma after \"For\"\u2014is correctly represented, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "morning; and",
            "corrected_text": "morning; and,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mr. Rugg",
            "corrected_text": "Mr. Rugg,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "back; and",
            "corrected_text": "back; and,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "papers, and",
            "corrected_text": "papers, and,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "down-stairs, and",
            "corrected_text": "down-stairs, and,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time; but",
            "corrected_text": "time; but,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "street, and",
            "corrected_text": "street, and,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was, and",
            "corrected_text": "was, and,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me; not",
            "corrected_text": "me, not",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "visit, but",
            "corrected_text": "visit; but",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur,",
            "corrected_text": "Arthur;",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still 'tis",
            "corrected_text": "still, 'tis",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view, but",
            "corrected_text": "view; but",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "again and",
            "corrected_text": "again, and",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tenderly, and",
            "corrected_text": "tenderly, and,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time, but",
            "corrected_text": "time; but",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "past and",
            "corrected_text": "past, and",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "come, and",
            "corrected_text": "come, and,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2025-09-29",
    "release_source": "https://www.anthropic.com/claude/sonnet",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit."
  },
  {
    "model_name": "Claude Sonnet 4.6",
    "model_id": "claude-sonnet-4.6",
    "date": "2026-03-08T11:25:31.262735",
    "shots": 2,
    "config": {
      "model_id": "claude-sonnet-4.6",
      "display_name": "Claude Sonnet 4.6",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-03-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Claude Sonnet 4.6",
    "annotation_date": "2026-03-08T09:59:32.091237",
    "file_results": [
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:24:40.487448",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T09:59:32.091237",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have the type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: adding a period to \"Fellow Travellers\" to make it \"Fellow Travellers.\". The original_text and corrected_text match the ground truth\u2019s intended punctuation correction precisely. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"howling over\" to \"howling, over\" by inserting a comma after \"howling\". The original and corrected text match exactly, capturing the same core punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), inserting a comma after \"yonder\". This captures the core intended punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same corrected text (\"pockets, and\"), capturing the identical core change: inserting a comma after \"pockets\". Line number differences are ignored as instructed.\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:13:21.923379",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:43:39.993293",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type set to \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. This captures the same core punctuation correction with identical original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"yonder to-day\" to \"yonder, to-day\", inserting a comma after \"yonder\". The core punctuation correction is identical."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same corrected text (\"pockets, and\"), capturing the core intended change of inserting a comma after \"pockets\". Any difference in line number is to be ignored, and the textual edit itself matches perfectly."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:13:55.838020",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:01:56.446750",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"howling over\" \u2192 \"howling, over\", inserting a comma after \"howling\". The core intended change is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder\". The original and corrected texts match the ground truth\u2019s intended punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and\". The original_text and corrected_text match the ground truth\u2019s intended punctuation change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:11:20.345149",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:00:03.179505",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:14:21.795539",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:44:15.041743",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:14:47.949240",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:02:25.562113",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:11:44.978163",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:00:41.970232",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 51,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:15:15.789764",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:44:49.018880",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 51,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:15:42.227376",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:02:58.858899",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 53,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 56,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:25:10.591501",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:01:25.099928",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both the ground truth and prediction change \"materials costing\" to \"materials, costing\", inserting a comma after \"materials\". This captures the core intended punctuation correction with identical original and corrected text content.\n\nLine numbers are ignored as instructed, and no other discrepancies affect the essential edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,",
            "corrected_text": "said,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:16:10.356488",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:45:25.566190",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change: insertion of a comma after \"materials\". \n\nLine numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,",
            "corrected_text": "said,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:16:38.003446",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:03:38.795791",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both identify the same original text (\"materials costing\") and apply the same correction by inserting a comma after \"materials\" to produce \"materials, costing.\" This captures the core intended change precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:25:40.953433",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:02:01.139659",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to make the title end with a period: \"Sun and Shadow\" \u2192 \"Sun and Shadow.\". The prediction also results in the same corrected text, \"Sun and Shadow.\", capturing the core intended punctuation change (ensuring a period at the end). Although the predicted \"original_text\" includes a comma (\"Sun and Shadow,\") rather than no punctuation, the essential intended correction\u2014ending the phrase with a period\u2014is still correctly represented."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:17:08.973584",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:45:58.285617",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intent is to make the title end with a period: \"Sun and Shadow\" \u2192 \"Sun and Shadow.\" The predicted edit also results in the same corrected text, \"Sun and Shadow.\" Although the prediction\u2019s \"original_text\" includes a comma (\"Sun and Shadow,\") rather than no punctuation, it still captures the core intended change: the ending punctuation should be a period. Therefore, the essential correction is represented correctly."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:17:34.953321",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:04:13.387135",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:26:24.446774",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:02:39.780491",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"man slowly\" to \"man, slowly\", inserting a comma after \"man\". The core correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change\u2014adding a comma after \"Chalons\" in the phrase \"Chalons was\" to make it \"Chalons, was.\" There is no mismatch in original or corrected text. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the same original text \"sodden\" with the same corrected text \"soddened\", capturing the core intended change precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:18:15.990019",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:46:34.287778",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Let Loose\" to make it \"Let Loose.\". The original_text and corrected_text match the ground truth exactly, capturing the intended punctuation edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was\". The prediction similarly represents inserting a comma after \"Chalons\" by changing \"Chalons\" \u2192 \"Chalons,\". Although the prediction uses less surrounding context (it does not include the following word \"was\"), it captures the same core intended change: adding a comma immediately after \"Chalons\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the original text \"sodden\" with the corrected text \"soddened\". The core intended change is captured identically with no discrepancy. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:18:54.152662",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:04:50.619669",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change\u2014adding a period to the end of \"Let Loose\" to make it \"Let Loose.\" The original and corrected texts are identical between ground truth and prediction, capturing the core intended punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after the word \"Chalons\" (changing \"Chalons was\" to \"Chalons, was\"). The prediction also captures this same core change by changing \"Chalons\" to \"Chalons,\". Although the prediction includes less surrounding context (it omits \"was\"), it still correctly represents the essential intended punctuation insertion at the same location."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: Both edits replace \"sodden\" with \"soddened\". This captures the same core textual change with no discrepancy in the original or corrected text. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:26:55.462679",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:03:23.043004",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 33,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The predicted edit does the same core punctuation insertion but includes additional surrounding context (\"at length said\" \u2192 \"at length, said\"). This preserves the essential intended correction (adding the comma after \"length\" before \"said\").\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "with some hurried words to the effect that she thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"That's well! I hopedso; I am not disappointed.\"",
            "corrected_text": "\"I hoped so; I am not disappointed.\"",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "as she did",
            "corrected_text": "as she did,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hopedso",
            "corrected_text": "I hoped so",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:19:22.580510",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:47:08.791404",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 33,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"length said\") and the same corrected text (\"length, said\"), capturing the identical core change: insertion of a comma after \"length\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 36,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"I hope so\" with \"I hoped so\", capturing the same core change (tense shift from present to past). Line number differences are to be ignored, and no other text discrepancies exist."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "with some hurried words to the effect that she thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "as she",
            "corrected_text": "as she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:20:00.780947",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:05:32.097776",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation: \"heart so\" \u2192 \"heart, so\" (inserting a comma after \"heart\"). This captures the core intended change with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 33,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after \"length\" in the phrase \"length said\" \u2192 \"length, said\". The prediction applies the same core punctuation change\u2014adding a comma after \"length\"\u2014but includes one extra preceding word (\"at\") as context: \"at length said\" \u2192 \"at length, said\". This preserves the essential intended correction (comma insertion after \"length\" before \"said\")."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 36,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n\nText Content Accuracy: Both edits replace the exact same original text \"I hope so\" with the same corrected text \"I hoped so.\" This captures the core intended change (tense shift from present to past). Line numbers are to be ignored, so the difference in line_number does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "thanked him from her heart (as she did, if it be the source of earnestness)",
            "corrected_text": "indeed thanked him from her heart (as she did, if it be the source of earnestness)",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:27:25.423492",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:03:58.866299",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: adding a comma after \"hers\" in the phrase \"hers and\" to make it \"hers, and\". The core punctuation correction is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers\". The original_text and corrected_text match the ground truth\u2019s core change exactly.\n\nLine numbers are ignored as instructed, so they do not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 26,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits apply the same core change to the same text span: \"moment with\" is corrected to \"moment, with\" by inserting a comma after \"moment\". The essential punctuation change is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this, he thought directly, \"they",
            "corrected_text": "At this, he thought directly, \"They",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:20:31.049030",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:47:44.937754",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change: \"hers and\" \u2192 \"hers, and\" (inserting a comma after \"hers\"). The essential edit is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\", inserting a comma after \"hers\". The core punctuation correction is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this, he thought directly, \"they",
            "corrected_text": "At this, he thought directly, \"They",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:21:00.101292",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:06:24.906157",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"hers and\" to \"hers, and\", inserting a comma after \"hers\". This captures the same core punctuation correction as the ground truth. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core transformation: inserting a comma after \"hers\" in the phrase \"hers matters\" to make it \"hers, matters\". The original_text and corrected_text match the ground truth\u2019s intended change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this, he thought directly, \"they",
            "corrected_text": "At this, he thought directly, \"They",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:27:51.402363",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:04:35.966309",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy",
            "corrected_text": "that, in our fancy,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:21:28.917005",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:48:16.717925",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy",
            "corrected_text": "that, in our fancy,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:21:56.263005",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:07:06.229921",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy",
            "corrected_text": "that, in our fancy,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:28:36.426741",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:05:14.595682",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core change: adding a period to the end of \"Chapter XXIX\" to make it \"Chapter XXIX.\". The original and corrected texts match the ground truth exactly, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits indicate the same core change: \"city\" \u2192 \"City\". There is no discrepancy in the original or corrected text, and the essential capitalization correction is captured precisely.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change, replacing \"them,\" with \"them;\". The essential edit is identical. Line number differences are ignored per instructions."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both edits change \"existence,\" to \"existence;\". This captures the same core punctuation correction (comma to semicolon) with identical original and corrected text.\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:22:43.899807",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:48:56.564431",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same core change: adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\". The original and corrected texts match the ground truth intention precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City.\" There is no discrepancy in the original or corrected text. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, replacing \"them,\" with \"them;\". The essential punctuation correction is identical. Line numbers are ignored as instructed, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth edit type.\n\nText Content Accuracy: Both ground truth and prediction change the same token from \"existence,\" to \"existence;\". The core punctuation change (comma to semicolon) is identical, with matching original and corrected text. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:23:28.392849",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:07:49.704156",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to \"Chapter XXIX\" to form \"Chapter XXIX.\". The original and corrected texts are identical between ground truth and prediction, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City\". There is no discrepancy in the original or corrected text content.\n\nTherefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change from \"them,\" to \"them;\". Since the essential edit is identical, the prediction matches the ground truth intention. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core correction: changing \"existence,\" to \"existence;\". The original and corrected text strings are identical between ground truth and prediction, capturing the intended punctuation change precisely."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:29:11.688414",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:05:50.746301",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest snorts\" to \"driest of snorts\" (i.e., corrects the spelling from \"dryest\" to \"driest\" and inserts \"of\" before \"snorts\"). The predicted edit performs the same core transformation: \"dryest snorts\" \u0000 \"driest of snorts\". Although the ground truth includes surrounding context (\"of the\" and the final period) and the prediction omits that extra context, the essential intended change is captured correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "\"Your own recompense for all this, Mr. Pancks,\" said Clennam, \"ought to be a large one.\"",
            "corrected_text": "\"Your own recompense for all this, Mr. Pancks,\" said Clennam, \"ought to be a large one.\"",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:24:04.316724",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:49:32.431388",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest snorts\" to \"driest of snorts\" (i.e., corrects spelling dryest\u2192driest and inserts \"of\" before \"snorts\"). The prediction makes the same core change: \"dryest snorts\" \u2192 \"driest of snorts\". Although the ground truth includes additional surrounding context (\"of the\" and the ending period), the prediction still captures the essential intended correction without introducing a different change.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "\"Your own recompense for all this, Mr. Pancks,\" said Clennam, \"ought to be a large one.\"",
            "corrected_text": "\"Your own recompense for all this, Mr. Pancks,\" said Clennam, \"ought to be a large one.\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:24:34.142922",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:08:33.186951",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" so that \"dryest snorts\" becomes \"driest of snorts\" (within the larger phrase \"of the ... .\"). The prediction captures the same core transformation: \"dryest snorts\" \u2192 \"driest of snorts\". Although it omits surrounding context (\"of the\" and the final period), it correctly represents the essential correction intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "of",
            "corrected_text": "of",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "\"Your own recompense for all this, Mr. Pancks,\" said Clennam, \"ought to be a large one.\"",
            "corrected_text": "\"Your own recompense for all this, Mr. Pancks,\" said Clennam, \"ought to be a large one.\"",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T10:29:39.198263",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:06:28.612831",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change in the same location. Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The essential punctuation correction is identical. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:25:02.038672",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T10:50:08.562454",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change in the correct location."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation: \"quickly that\" \u2192 \"quickly, that\", inserting a comma after \"quickly\". The core change is identical and fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-sonnet-4.6",
        "date": "2026-03-08T11:25:31.262735",
        "annotator": "Claude Sonnet 4.6",
        "annotation_date": "2026-03-08T11:09:14.223280",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"For Mr. Pancks\" to \"For, Mr. Pancks\", i.e., it inserts a comma after \"For\". The predicted edit changes \"For Mr.\" to \"For, Mr.\", which also inserts a comma after \"For\" in the same location. Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". This captures the core intended correction with identical original and corrected text. Line numbers are irrelevant per instructions."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bedkroom",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2026-02-17",
    "release_source": "https://www.anthropic.com/news/claude-sonnet-4-6",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit."
  },
  {
    "model_name": "Claude Sonnet 5",
    "model_id": "claude-sonnet-5",
    "date": "2026-07-23T15:19:02.327795",
    "shots": 2,
    "config": {
      "model_id": "claude-sonnet-5",
      "display_name": "Claude Sonnet 5",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Claude Sonnet 5",
    "annotation_date": "2026-07-23T11:16:14.497995",
    "file_results": [
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:16:37.713414",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:16:14.497995",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core intended punctuation change is captured identically. Therefore, the predicted edit matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both edits change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder\". The core punctuation change is identical in the prediction and matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change, inserting a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:16:36.417827",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:27:48.381858",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. This captures the identical core punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the core intended change of inserting a comma after \"howling\". Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original phrase \"yonder to-day\" and the same correction \"yonder, to-day\", inserting a comma after \"yonder\". This captures the identical core change intended by the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"Sir\" to \"sir,\" capturing the same core capitalization correction with identical original and corrected text. No mismatch or missing element is present."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and.\" The original_text and corrected_text match the ground truth\u2019s core change exactly. Therefore the predicted edit correctly captures the intended correction."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:16:39.454160",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:28:24.236872",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to \"Fellow Travellers\" to make it \"Fellow Travellers.\". The original and corrected texts match the ground truth intention precisely. Therefore, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change of inserting a comma after \"howling\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the intended punctuation change of inserting a comma after \"yonder\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and\". The original and corrected texts match exactly, so the intended punctuation correction is captured correctly."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:16:30.789148",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:15:58.381670",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir\", inserting a comma after \"No\". The core intended punctuation correction is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:16:33.879915",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:27:38.463529",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"No sir\" to \"No, sir\" (inserting a comma after \"No\"). The core change is identical, with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"why did he dine\") and the same corrected text (\"Why did he dine\"), capturing the core intended change of capitalizing the initial 'w' to 'W'. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!\"",
            "corrected_text": "cold stones?\"",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction captures the same core change (\"!\" \u2192 \"?\") and simply includes an additional trailing quotation mark in both the original and corrected strings (\"cold stones!\\\"\" \u2192 \"cold stones?\\\"\"). This added context does not alter the essential correction and still reflects the same intended punctuation change.\n\nTherefore, the prediction correctly captures the ground truth edit."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:16:36.737232",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:28:16.932174",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"No sir\" to \"No, sir\", inserting a comma after \"No\". This captures the core intended correction exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 25,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth edit capitalizes the initial word in the phrase, changing \"why did he dine\" to \"Why did he dine.\" The prediction captures the core intended change by converting \"why\" to \"Why.\" Although it provides less surrounding context, it correctly identifies and applies the essential capitalization change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is converting an exclamation mark to a question mark at the end of the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction captures the same core punctuation change at the same word-ending: \"stones!\" \u2192 \"stones?\". Although the prediction omits the preceding word \"cold\", it still correctly represents the essential intended correction (replace the terminal \"!\" with \"?\")."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:16:30.425716",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:16:06.114440",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the identical transformation \"if he\" \u2192 \"If he,\" capturing the same core capitalization change with no discrepancies. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core intended change by replacing \"said\" \u2192 \"asked\". Although it omits the unchanged surrounding context (\"Clennam\"), it still represents the essential correction accurately."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:16:33.401452",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:27:41.092236",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"if he\" to \"If he\", capturing the identical core capitalization correction. No discrepancies in the original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both identify the same original text (\"said Clennam\") and the same corrected text (\"asked Clennam\"). The core change\u2014replacing \"said\" with \"asked\" in the phrase\u2014is captured identically. Therefore, the predicted edit matches the ground truth intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:16:37.723582",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:28:17.175026",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 33,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"if he\" to \"If he\", capturing the identical core capitalization correction. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"said Clennam\") and the same corrected text (\"asked Clennam\"), capturing the identical core change. Line numbers are ignored as instructed, so the mismatch there does not affect correctness."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:26.208379",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:16:12.818099",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road,\" capturing the identical core change (inserting a hyphen between the words). No mismatch in original or corrected text content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction applies the same core change\u2014adding a comma immediately after \"said\"\u2014but includes extra preceding context (\"and said\" \u2192 \"and said,\"). This preserves the essential intended correction (comma after \"said\"), so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials,costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about,and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion,did",
            "corrected_text": "tion did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly,telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam,in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:25.967089",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:27:49.362311",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"high road\") and the same corrected text (\"high-road\"), capturing the identical core change of hyphenating the phrase. Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"said\" to \"said,\", adding a comma after the word. The core change is identical with no discrepancies. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials,costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about,and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion,did",
            "corrected_text": "tion did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly,telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam,in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:16.910263",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:28:22.870938",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road,\" capturing the identical core punctuation/hyphenation change. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change of inserting a comma after \"materials\". Therefore, the prediction matches the ground truth\u2019s intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma to change \"about and\" to \"about, and\". The original and corrected text strings match the ground truth intention exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change\u2014adding a comma after \"earnestly\". Line numbers are ignored as instructed. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"said\" in the phrase \"said when\", yielding \"said, when\". The original_text and corrected_text match the ground truth\u2019s intended punctuation change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said \"Clennam!",
            "corrected_text": "said, \"Clennam!",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction adds the same comma in the same position, merely including additional surrounding context (\"said \\\"Clennam!\" \u2192 \"said, \\\"Clennam!\"). This captures the core intended punctuation change."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The prediction also inserts a comma after \"Clennam\" while including extra surrounding context (\"Clennam in amazement\" \u2192 \"Clennam, in amazement\"). This captures the same core punctuation correction intended by the ground truth.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:16:58.681070",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:15:55.190935",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period: \"Sun and Shadow\" \u2192 \"Sun and Shadow.\" The predicted edit makes the same core change with identical original and corrected text. The additional note about the handwritten annotation does not alter the edit content. Therefore, the prediction captures the essential intended correction."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:02.651826",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:27:29.462984",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period after \"Shadow\". The prediction captures the same original text and the same corrected text with the period added. The note about a handwritten query does not alter the core change.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:16:57.858990",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:28:16.159207",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 2,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so this matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period: \"Sun and Shadow\" \u2192 \"Sun and Shadow.\" The prediction specifies the same original and corrected text, capturing the identical core punctuation change. The extra note about a handwritten annotation does not alter the essential edit.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:17.314307",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:16:15.777366",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation: \"Let Loose\" \u2192 \"Let Loose.\" (adding a period). The core intended change is captured identically. Therefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original segment (\"dull autumn\") and the same correction (\"dull, autumn\"), inserting a comma after \"dull\". The core change is captured identically.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"man slowly\") and the same corrected text (\"man, slowly\"), capturing the identical core change (inserting a comma after \"man\"). Line number differences are ignored as instructed. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original phrase \"Chalons was\" and the same corrected phrase \"Chalons, was\", capturing the core intended change (inserting a comma after \"Chalons\"). Ignoring line numbers, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:13.090361",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:27:38.113161",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Let Loose\" to \"Let Loose.\" by adding a period at the end. The core change is identical with no discrepancies. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change of inserting a comma after \"dull\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"man slowly\" to \"man, slowly\" by inserting a comma after \"man\". This captures the same core correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Chalons was\" to \"Chalons, was\", inserting a comma after \"Chalons\". The core textual change is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:20.286168",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:28:28.681072",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"Let Loose\" to \"Let Loose.\" (adding a period). This captures the core intended correction with no discrepancy in the text content. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core punctuation change: inserting a comma after \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The essential edit is identical. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"Chalons was\" \u2192 \"Chalons, was\", inserting a comma after \"Chalons\". This captures the core intended change with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden with wet",
            "corrected_text": "soddened with wet",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"sodden\" to \"soddened\". The prediction changes \"sodden with wet\" to \"soddened with wet\", which includes additional surrounding context but preserves the same core substitution (\"sodden\" \u2192 \"soddened\"). Therefore, the essential intended correction is correctly captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:33.773783",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:16:35.319343",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"heart\" in the sequence \"heart so\" \u2192 \"heart, so.\" The prediction applies the same core punctuation change (inserting a comma after \"heart\") but includes additional surrounding context: \"heart so much\" \u2192 \"heart, so much.\" This preserves the essential intended edit, merely extending the span to include the following word.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"length said\" to \"length, said\", inserting a comma after \"length\". The core punctuation correction is identical. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (present tense to past tense). Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did",
            "corrected_text": "thanked him from her heart indeed (as she did",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:30.298187",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:28:17.121765",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth correction inserts a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The prediction applies the same core change\u2014adding a comma after \"heart\"\u2014but includes extra surrounding context (\"much\"). This still captures the essential intended edit (inserting the comma after \"heart\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said Clennam",
            "corrected_text": "at length, said Clennam",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core change, adding a comma after \"length\" before \"said,\" but includes additional surrounding context (\"at\" before and \"Clennam\" after). This still captures the essential intended correction.\n\nTherefore, the predicted edit correctly matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change from present to past tense. No discrepancies in the essential edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did",
            "corrected_text": "thanked him from her heart indeed (as she did",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:47.803654",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:28:41.987973",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The prediction also inserts a comma after \"heart\" but includes extra surrounding context (\"heart so much\" \u2192 \"heart, so much\"). This preserves the same core punctuation correction at the same location, so it captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope so",
            "corrected_text": "hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"I hope so\" \u2192 \"I hoped so\", i.e., the core correction is changing the verb form \"hope\" to \"hoped\" while keeping \"so\". The prediction captures the same essential change: \"hope so\" \u2192 \"hoped so\". Although it omits the leading \"I\" context, it still accurately represents the intended correction (hope \u2192 hoped) and does not introduce a different meaning or a different edit.\n\nTherefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did",
            "corrected_text": "thanked him from her heart, indeed, (as she did",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:43.864614",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:16:50.773946",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"hers and\" to \"hers, and\" by inserting a comma after \"hers\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change: insertion of a comma after \"hers\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"moment with\" to \"moment, with,\" inserting a comma after \"moment.\" The core change is identical with no discrepancies."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "idea. At this,",
            "corrected_text": "idea.\n\nAt this,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:56.649267",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:28:30.138407",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and thanked",
            "corrected_text": "hers, and thanked",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" (\"hers and\" \u2192 \"hers, and\"). The predicted edit also inserts a comma after \"hers\" (\"hers and thanked\" \u2192 \"hers, and thanked\"). Although the prediction includes additional surrounding context (\"thanked\"), it captures the same core punctuation change at the same location. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters little",
            "corrected_text": "hers, matters little",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The predicted edit also inserts a comma after \"hers\" (\"hers matters little\" \u2192 \"hers, matters little\"), adding extra surrounding context (\"little\") but preserving the same essential punctuation change at the same location. Therefore, it captures the core intention of the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with a look",
            "corrected_text": "moment, with a look",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"moment\" (\"moment with\" \u2192 \"moment, with\"). The predicted edit also inserts a comma after \"moment\" (\"moment with a look\" \u2192 \"moment, with a look\"). Although the prediction includes additional surrounding words (\"a look\"), it preserves the same core punctuation change at the same location. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 the essential edit is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that it was",
            "corrected_text": "beautiful, that it was",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"beautiful\" (\"beautiful that\" \u2192 \"beautiful, that\"). The prediction applies the same core punctuation change\u2014adding a comma immediately after \"beautiful\"\u2014but includes additional surrounding words (\"beautiful that it was\" \u2192 \"beautiful, that it was\"). This added context does not alter the essential edit, so it correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they are to be married",
            "corrected_text": "They are to be married",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"they\" to \"They\". The predicted edit applies the same capitalization change but includes additional surrounding context (\"they are to be married\" \u2192 \"They are to be married\"). The core intended change\u2014capitalizing the initial \"they\"\u2014is correctly captured."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:50.889428",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:29:06.808740",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"hers and\" to \"hers, and\" by inserting a comma after \"hers.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the core intended change\u2014adding a comma after \"hers\". Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth edit type.\n\nText Content Accuracy: Both ground truth and prediction change \"moment with\" to \"moment, with\" by inserting a comma after \"moment.\" The original and corrected text strings match exactly, capturing the core intended punctuation change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same corrected text (\"beautiful, that\"), capturing the core intended change\u2014adding a comma after \"beautiful\". Therefore, the prediction fully matches the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they are to be married",
            "corrected_text": "They are to be married",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates capitalizing the word \"they\" to \"They\". The prediction applies the same capitalization change to the same word but includes additional surrounding context (\"they are to be married\" \u2192 \"They are to be married\"). This preserves the core intended change (lowercase to uppercase initial \"they\").\n\nTherefore, the predicted edit correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "At this, he thought directly",
            "corrected_text": "\n\nAt this, he thought directly",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:56.673608",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:16:56.586812",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same change from \"shore and\" to \"shore, and,\" inserting a comma after \"shore.\" The essential punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "than once were",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\" edits, so the type matches.\n2) Text Content Accuracy: The ground truth intends to change the word \"that\" to \"than\". The prediction changes \"that once were\" to \"than once were\", which preserves the same core substitution (that \u2192 than) while including extra surrounding context. This correctly captures the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy",
            "corrected_text": "that, in our fancy,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:57.118564",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:28:31.361258",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cThank you!\u201d murmured Clennam",
            "corrected_text": "\u201cThank you,\u201d murmured Clennam",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation,\" and the predicted edit type is also \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The core change in the ground truth is replacing the exclamation mark in \"Thank you!\" with a comma (\"Thank you,\"). The prediction applies the same punctuation change within a longer quoted phrase (\"Thank you!\" \u2192 \"Thank you,\") while including additional surrounding context (quotation marks and \"murmured Clennam\"). This extra context does not alter the essential correction, and the intended punctuation change is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the identical core change: inserting a comma after \"shore\" in the phrase \"shore and\" to make it \"shore, and\". The original_text and corrected_text match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "things that once",
            "corrected_text": "things than once",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction are of type \"replacement\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth intends to replace the word \"that\" with \"than\". The predicted edit replaces the phrase \"things that once\" with \"things than once\", which includes the same core substitution (\"that\" \u2192 \"than\") while adding extra surrounding context. This still captures the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:17:49.821194",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:29:05.384510",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you!\" murmured Clennam",
            "corrected_text": "\"Thank you,\" murmured Clennam",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "things that once were",
            "corrected_text": "things than once were",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:18:48.669148",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:16:58.656554",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, converting \"city\" to \"City.\" There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of the same",
            "corrected_text": "return to the same",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the word \"of\" to \"to\". The predicted edit changes the phrase \"return of the same\" to \"return to the same\", which includes additional surrounding context but preserves the same core substitution (\"of\" \u2192 \"to\"). Therefore, the prediction captures the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit applies the same core change\u2014adding a comma immediately after \"existence\"\u2014while including extra surrounding context (\"existence at\" \u2192 \"existence, at\"). This captures the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction adds that same comma in context (\"motionless when\" \u2192 \"motionless, when\"). Although the prediction includes an extra following word for context, it captures the same core punctuation change at the same location. \u05dc\u05db\u05df, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds a comma after \"view\" within a larger span (\"view by\" \u2192 \"view, by\"). This preserves the same core punctuation change (inserting a comma immediately after \"view\") while including additional surrounding context, which is acceptable.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation immediately following the word \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The predicted edit applies a semicolon right after \"existence\" as well (\"existence is\" \u2192 \"existence; is\"), adding surrounding context (the following word \"is\"). Although the prediction does not explicitly show the comma in its original span, it captures the core intended change: a semicolon should appear after \"existence\" at that location. Therefore the essential punctuation correction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:19:02.327795",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:28:33.035603",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same core change: \"city\" is corrected to \"City\". The original and corrected texts match the ground truth\u2019s intended capitalization change with no discrepancy.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth changes \"of\" to \"to\". The prediction changes \"return of\" to \"return to\", which includes additional surrounding context but preserves the same core substitution (\"of\" \u2192 \"to\"). Therefore, it captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, adding a comma immediately after \"existence\" within a slightly larger context (\"existence at\" \u2192 \"existence, at\"). This captures the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth adds a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit adds the same comma after \"motionless\" while including extra following context (\"motionless when\" \u2192 \"motionless, when\"). This captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change, adding a comma immediately after \"view\" within a longer phrase (\"view by\" \u2192 \"view, by\"). This preserves the essential intended punctuation correction, merely with additional surrounding context.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:18:54.568566",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:29:13.518628",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly. Text Content Accuracy: Both specify the same core change, converting \"city\" to \"City\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\" edits, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"of\" with \"to\". The predicted edit replaces \"return of\" with \"return to\", which includes extra surrounding context but preserves the same core change (\"of\" \u2192 \"to\"). Therefore, the prediction accurately captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence",
            "corrected_text": "busy existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit adds a comma after the phrase \"busy existence\" (\"busy existence\" \u2192 \"busy existence,\") which still places the comma immediately after \"existence\". This includes extra surrounding context but captures the same essential punctuation change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core correction: adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). There is no discrepancy in the text content or intended correction. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates changing the punctuation following the word \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction gives \"existence\" \u2192 \"existence;\". Although the prediction omits the comma in the original_text field, it still captures the core intended change: the punctuation after \"existence\" should be a semicolon. The corrected outcome matches the ground truth's intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:18:28.050810",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:17:10.002291",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly. Text Content Accuracy: Both target the same text \"him\" with no change in wording, indicating the intent is to apply italics to \"him\". The predicted edit captures the same core change (formatting) as the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "score; now I have paid it.",
            "corrected_text": "score; now, I have paid it.",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"now\" in the phrase \"now I\" \u2192 \"now, I\". The predicted edit applies the same core punctuation change within a larger surrounding snippet: \"score; now I have paid it.\" \u2192 \"score; now, I have paid it.\" This preserves the essential intended correction (adding the comma after \"now\").\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same original text (\"authorize\") and the same corrected text (\"authorise\"), capturing the identical core spelling change from American to British form. No discrepancy in the essential edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boiling-over",
            "corrected_text": "boiling over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty:",
            "corrected_text": "at twenty;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now to break",
            "corrected_text": "you, now to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:18:30.703686",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:28:50.553957",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and adds \"of\" before \"snorts\" (\"dryest snorts\" \u2192 \"driest of snorts\"), within the larger phrase \"of the ... snorts.\" The prediction targets the key substring \"dryest snorts\" and replaces it with \"driest of snorts\", which captures the same essential spelling correction and insertion. Although the prediction omits surrounding context (\"of the\") and the trailing period, it still represents the core intended change accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\nText Content Accuracy: Both identify the same target text \"him\" with no textual change other than applying italics. The core intended change (italicizing the word \"him\") is captured correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "score; now I have paid it.",
            "corrected_text": "score; now, I have paid it.",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after \"now\" in the phrase \"now I\" \u2192 \"now, I\". The prediction makes the same core punctuation change, adding a comma after \"now\" within a longer surrounding context (\"score; now I have paid it.\" \u2192 \"score; now, I have paid it.\"). Including additional context is acceptable, and the essential edit is identical."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as a \"replacement\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"authorize\") and the same corrected text (\"authorise\"), capturing the identical core change (American to British spelling). Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty:",
            "corrected_text": "twenty;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:18:32.594397",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:29:25.046174",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "*him*",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"italicize\", which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth indicates that the word \"him\" should be italicized (with no change to the literal characters). The prediction also targets \"him\" and represents the italicization explicitly as \"*him*\". This captures the same core intended change (apply italics) without altering the underlying word. Therefore, the essential edit is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid",
            "corrected_text": "now, I have paid",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The predicted edit also inserts a comma after \"now\" and simply includes extra surrounding context (\"now I have paid\" \u2192 \"now, I have paid\"). The core punctuation change is identical and correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both change the same original text \"authorize\" to the same corrected text \"authorise\", capturing the identical core correction. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "little",
            "corrected_text": "*little*",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty,",
            "corrected_text": "twenty;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:18:19.775194",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T11:16:55.284321",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is the insertion of a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The predicted edit likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change in the correct location. Therefore, the essential edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 9,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same correction (\"quickly, that\"), capturing the identical core change\u2014adding a comma after \"quickly\". Therefore the predicted edit matches the ground truth\u2019s intention. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:18:19.999821",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T12:28:22.900646",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"For Mr. Pancks\") and the same corrected text (\"For, Mr. Pancks\"), capturing the identical core change: insertion of a comma after \"For\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 9,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change: insertion of a comma after \"quickly\". Since line numbers are to be ignored, the prediction fully matches the ground truth intent."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me; not",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "claude-sonnet-5",
        "date": "2026-07-23T15:18:23.712534",
        "annotator": "Claude Sonnet 5",
        "annotation_date": "2026-07-23T13:28:55.272579",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"For Mr. Pancks\") and the same corrected text (\"For, Mr. Pancks\"), capturing the identical core change\u2014adding a comma after \"For\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Anthropic",
    "release_date": "2026-06-30",
    "release_notes": "Claude Sonnet 5 shipped as Anthropic's new default model at the end of June 2026; the OpenRouter listing appeared 2026-06-30 and press coverage ran 2026-07-01.",
    "display_suffix": "*",
    "display_note": "Claude results use resized/recompressed images when needed to stay below Anthropic's 5 MiB per-image limit."
  },
  {
    "model_name": "DeepSeek R1",
    "model_id": "or_deepseek_r1",
    "date": "2026-02-22T15:42:07.961833",
    "shots": 2,
    "config": {
      "model_id": "or_deepseek_r1",
      "display_name": "DeepSeek R1",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-07",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "DeepSeek R1",
    "annotation_date": "2025-04-07T19:05:35.722930",
    "file_results": [
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:40:39.512877",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:05:35.722930",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dark cold",
            "corrected_text": "dark, cold",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mediterranean",
            "corrected_text": "Mediterranean",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea mist",
            "corrected_text": "sea-mist",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "however that",
            "corrected_text": "however, that",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "stonework",
            "corrected_text": "stone-work",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "roman",
            "corrected_text": "Roman",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "window which",
            "corrected_text": "window, which",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:40:40.603546",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:24:54.939714",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "darkness and",
            "corrected_text": "darkness, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english channel",
            "corrected_text": "English Channel",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flower pots",
            "corrected_text": "flower-pots",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ship wreck",
            "corrected_text": "ship-wreck",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mediterranean",
            "corrected_text": "Mediterranean",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:40:43.338008",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:25:31.133419",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:40:44.341347",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:07:20.621208",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sunlight",
            "corrected_text": "sun-light",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english",
            "corrected_text": "English",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "coast",
            "corrected_text": "Coast",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bread and",
            "corrected_text": "bread, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "winebarrels",
            "corrected_text": "wine-barrels",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:40:44.635252",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:25:42.529965",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:40:44.636185",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:26:24.555432",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moon light",
            "corrected_text": "moon-light",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mediterranean",
            "corrected_text": "Mediterranean",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ship however",
            "corrected_text": "ship, however",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "forecastle",
            "corrected_text": "fo'c'sle",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "waves and",
            "corrected_text": "waves, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:40:57.332226",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:09:44.512640",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "OF",
            "corrected_text": "OF",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ONE CHAPTER",
            "corrected_text": "ONE, CHAPTER",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1",
            "corrected_text": "1.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MARSEILLES THE",
            "corrected_text": "MARSEILLES\u2014THE",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "spoke and",
            "corrected_text": "spoke, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Vecchia so",
            "corrected_text": "Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:40:57.331202",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:27:21.139274",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sunlight and",
            "corrected_text": "sunlight, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "doorway where",
            "corrected_text": "doorway, where",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well built",
            "corrected_text": "well-built",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english channel",
            "corrected_text": "English Channel",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiled and",
            "corrected_text": "smiled, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:08.026030",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:28:33.506440",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:09.283808",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:10:13.992710",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rain fall",
            "corrected_text": "rain-fall",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english channel",
            "corrected_text": "English Channel",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tree; and",
            "corrected_text": "tree, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "slowly",
            "corrected_text": "quickly",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "bookstore",
            "corrected_text": "book store",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:10.992603",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:31:00.515079",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dark blue",
            "corrected_text": "dark-blue",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english Channel",
            "corrected_text": "English Channel",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "however when",
            "corrected_text": "however, when",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "santos dumont",
            "corrected_text": "Santos Dumont",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Santos Dumont",
            "corrected_text": "Santos-Dumont",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "head ache",
            "corrected_text": "headache",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "its",
            "corrected_text": "it's",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:02.155455",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:29:38.296786",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fed looking",
            "corrected_text": "fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:02.153206",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:11:21.463767",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sail boat",
            "corrected_text": "sail-boat",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english channel",
            "corrected_text": "English Channel",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and then",
            "corrected_text": "and, then",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tomatoe",
            "corrected_text": "tomato",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "captain smith",
            "corrected_text": "Captain Smith",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "fastly",
            "corrected_text": "quickly",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:12.516118",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:31:45.941707",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:14.715595",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:33:23.257439",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun light",
            "corrected_text": "sun-light",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "atlantic ocean",
            "corrected_text": "Atlantic Ocean",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "however he",
            "corrected_text": "however, he",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:16.748526",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:12:08.285533",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun light",
            "corrected_text": "sun-light",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "paris",
            "corrected_text": "Paris",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "then he",
            "corrected_text": "then, he",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:16.749860",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:34:08.952612",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:21.727429",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:34:29.481825",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sunlight and",
            "corrected_text": "sunlight, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "quickly",
            "corrected_text": "swiftly",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well known",
            "corrected_text": "well-known",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mediterranean",
            "corrected_text": "Mediterranean",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea side",
            "corrected_text": "sea-side",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "in to",
            "corrected_text": "into",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:21.726120",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:13:05.231527",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:33.553208",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:35:16.533888",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun light",
            "corrected_text": "sun-light",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dark,blue",
            "corrected_text": "dark blue",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "captain smith",
            "corrected_text": "Captain Smith",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea;and",
            "corrected_text": "sea, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "broken--",
            "corrected_text": "broken\u2014",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:33.551920",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:36:48.066733",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "door way",
            "corrected_text": "door-way",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mr",
            "corrected_text": "Mr.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "paris",
            "corrected_text": "Paris",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "head quarters",
            "corrected_text": "head-quarters",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "francis",
            "corrected_text": "Francis",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty four",
            "corrected_text": "twenty-four",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:37.766698",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:14:55.118620",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:34.953536",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:38:09.425837",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Tale of Two Cities",
            "corrected_text": "A Tale of Two Cities",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sunlight and",
            "corrected_text": "sunlight, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "head quarters",
            "corrected_text": "head-quarters",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "doorway where",
            "corrected_text": "doorway, where",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english",
            "corrected_text": "English",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "the prisoners",
            "corrected_text": "captives",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty five",
            "corrected_text": "twenty-five",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "after noon",
            "corrected_text": "afternoon",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:35.520446",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:40:01.461872",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sunset and",
            "corrected_text": "sunset, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well known",
            "corrected_text": "well-known",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english channel",
            "corrected_text": "English Channel",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "however when",
            "corrected_text": "however, when",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "postscript ps",
            "corrected_text": "Postscript PS",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "head ache",
            "corrected_text": "headache",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "e mail",
            "corrected_text": "email",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "world war ii",
            "corrected_text": "World War II",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mr. darcy",
            "corrected_text": "Mr. Darcy",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:40.785739",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:19:57.328990",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "however when",
            "corrected_text": "however, when",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "united states",
            "corrected_text": "United States",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "brother in law",
            "corrected_text": "brother-in-law",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mr. brown",
            "corrected_text": "Mr. Brown",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tea time",
            "corrected_text": "tea-time",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "finished and",
            "corrected_text": "finished, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english breakfast",
            "corrected_text": "English breakfast",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:40.981935",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:40:05.227492",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moon light",
            "corrected_text": "moon-light",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english channel",
            "corrected_text": "English Channel",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ships that",
            "corrected_text": "ships, that",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "harbor",
            "corrected_text": "harbour",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "waves and",
            "corrected_text": "waves, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:40.785252",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:44:54.900447",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun light",
            "corrected_text": "sun-light",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "however when",
            "corrected_text": "however, when",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english channel",
            "corrected_text": "English Channel",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well known",
            "corrected_text": "well-known",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "paris france",
            "corrected_text": "Paris France",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Paris France",
            "corrected_text": "Paris, France",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:42.655980",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:22:19.494409",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "however when",
            "corrected_text": "however, when",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english",
            "corrected_text": "English",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "television",
            "corrected_text": "TV",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:54.021419",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:45:40.440425",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "chapter three",
            "corrected_text": "CHAPTER THREE",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river bank",
            "corrected_text": "river-bank",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "its",
            "corrected_text": "it's",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english coast",
            "corrected_text": "English Coast",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well known",
            "corrected_text": "well-known",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tomorrow morning",
            "corrected_text": "tomorrow, morning",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:54.025167",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:23:13.572763",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "darkness fell",
            "corrected_text": "darkness, fell",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mediterranean",
            "corrected_text": "Mediterranean",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea breeze",
            "corrected_text": "sea-breeze",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "harbor",
            "corrected_text": "harbour",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sails rigging",
            "corrected_text": "sails, rigging",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "La Jeune Am\u00e9lie",
            "corrected_text": "_La Jeune Am\u00e9lie_",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:58.448984",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:41:43.814853",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "postoffice",
            "corrected_text": "post-office",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english",
            "corrected_text": "English",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said to",
            "corrected_text": "said, to",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Paris but",
            "corrected_text": "Paris, but",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mediterranean",
            "corrected_text": "Mediterranean",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "captain",
            "corrected_text": "Captain",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea port",
            "corrected_text": "sea-port",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "deck however",
            "corrected_text": "deck, however",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:42:03.154367",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:47:04.906609",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "gatsby",
            "corrected_text": "Gatsby",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shes",
            "corrected_text": "she's",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty first",
            "corrected_text": "twenty-first",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "DArcy",
            "corrected_text": "Darcy",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tree and",
            "corrected_text": "tree, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english",
            "corrected_text": "English",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "sun-set",
            "corrected_text": "sunset",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:42:05.108064",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:24:07.011374",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "head and",
            "corrected_text": "head, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine shop",
            "corrected_text": "wine-shop",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "head down",
            "corrected_text": "head, down",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "monseigneur",
            "corrected_text": "Monseigneur",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "monseigneur",
            "corrected_text": "Monseigneur",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "good graces",
            "corrected_text": "good-graces",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:42:07.961833",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T19:44:07.602217",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "in paris",
            "corrected_text": "in Paris",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cell,which",
            "corrected_text": "cell, which",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "postoffice",
            "corrected_text": "post-office",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shes",
            "corrected_text": "she's",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english channel",
            "corrected_text": "English Channel",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "captain nemo",
            "corrected_text": "Captain Nemo",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_deepseek_r1",
        "date": "2026-02-22T15:41:58.451049",
        "annotator": "DeepSeek R1",
        "annotation_date": "2025-04-07T20:47:48.752330",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "doorway and",
            "corrected_text": "doorway, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "postoffice",
            "corrected_text": "post-office",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english channel",
            "corrected_text": "English Channel",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well known",
            "corrected_text": "well-known",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "afterwards he",
            "corrected_text": "afterwards, he",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "DeepSeek",
    "release_date": "2025-01-20",
    "release_source": "https://api-docs.deepseek.com/news/news250120"
  },
  {
    "model_name": "DeepSeek V3 0324",
    "model_id": "or_deepseek_chat_v3_0324",
    "date": "2026-02-22T15:40:41.681387",
    "shots": 2,
    "config": {
      "model_id": "or_deepseek_chat_v3_0324",
      "display_name": "DeepSeek V3 0324",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "DeepSeek V3 0324",
    "annotation_date": "2025-04-08T00:18:06.299635",
    "file_results": [
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:18.329286",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:18:06.299635",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:18.329992",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:24:44.243290",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:22.296878",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:18:34.036599",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:24.569863",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:19:10.446663",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:29.003850",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:34:49.097499",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:29.302550",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T05:56:39.665128",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:32.400341",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:19:41.166582",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:34.644666",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:36:07.218724",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said he",
            "corrected_text": "said, he",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english",
            "corrected_text": "English",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said I",
            "corrected_text": "said, I",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said he",
            "corrected_text": "said, he",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said I",
            "corrected_text": "said, I",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said he",
            "corrected_text": "said, he",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said I",
            "corrected_text": "said, I",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said he",
            "corrected_text": "said, he",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said I",
            "corrected_text": "said, I",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said he",
            "corrected_text": "said, he",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:39.100224",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T05:57:06.599523",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said he",
            "corrected_text": "said, he",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english",
            "corrected_text": "English",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "very",
            "corrected_text": "extremely",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "then and",
            "corrected_text": "then, and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "important",
            "corrected_text": "_important_",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "however he",
            "corrected_text": "however, he",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "quite",
            "corrected_text": "",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:36.491768",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:21:01.786024",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "south east",
            "corrected_text": "south-east",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "south west",
            "corrected_text": "south-west",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mediterranean",
            "corrected_text": "Mediterranean",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea which",
            "corrected_text": "sea, which",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:50.796291",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T05:58:25.340465",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "travelers",
            "corrected_text": "traveller's",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "travelers",
            "corrected_text": "travellers'",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "travelers",
            "corrected_text": "travellers",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "travelers",
            "corrected_text": "travellers",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "travelers",
            "corrected_text": "travellers",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "travelers",
            "corrected_text": "travellers",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "travelers",
            "corrected_text": "travellers",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "travelers",
            "corrected_text": "travellers",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "travelers",
            "corrected_text": "travellers",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "travelers",
            "corrected_text": "travellers",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:51.109792",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:21:48.415639",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:53.408848",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T05:58:53.036242",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:39:53.407265",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:38:25.901834",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:03.266715",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T05:59:39.461606",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:03.619362",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:23:37.016653",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:09.427094",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:38:57.971571",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun rose",
            "corrected_text": "sun, rose",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mediterranean",
            "corrected_text": "Mediterranean",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "blue water",
            "corrected_text": "azure sea",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "deck and",
            "corrected_text": "deck, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Santa Maria",
            "corrected_text": "<i>Santa Maria</i>",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the port",
            "corrected_text": "the busy port",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "very",
            "corrected_text": "",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:06.397363",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T06:00:36.770997",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:13.959632",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:24:55.018336",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said I",
            "corrected_text": "said, I",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "english",
            "corrected_text": "English",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man and",
            "corrected_text": "man, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prisoner said",
            "corrected_text": "prisoner, said",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Yes I",
            "corrected_text": "Yes, I",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "italian",
            "corrected_text": "Italian",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No I",
            "corrected_text": "No, I",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "years I",
            "corrected_text": "years, I",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prisoner said",
            "corrected_text": "prisoner, said",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "a",
            "corrected_text": "an",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:14.873343",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:39:45.347454",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting",
            "corrected_text": "was waiting,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:13.452685",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T06:00:54.997006",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:14.514089",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:25:21.372429",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:11.706929",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:40:41.713994",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:25.379244",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:25:42.441238",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:25.380601",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:41:33.234947",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:41.681387",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T06:02:19.700099",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun rose",
            "corrected_text": "sun rose,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mediterranean",
            "corrected_text": "Mediterranean",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "blue sea",
            "corrected_text": "azure sea",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "waves which",
            "corrected_text": "waves, which",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the horizon",
            "corrected_text": "the distant horizon",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sail appeared",
            "corrected_text": "sail appeared.",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "very",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:39.284468",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:26:29.522931",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_deepseek_chat_v3_0324",
        "date": "2026-02-22T15:40:39.282836",
        "annotator": "DeepSeek V3 0324",
        "annotation_date": "2025-04-08T00:42:34.349457",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "DeepSeek",
    "release_date": "2025-03-25",
    "release_source": "https://api-docs.deepseek.com/news/news250325"
  },
  {
    "model_name": "DeepSeek V4 Flash Vision Exp",
    "model_id": "or_deepseek_v4_flash_vision_exp",
    "date": "2026-09-06T02:50:22.623544",
    "shots": 2,
    "config": {
      "model_id": "or_deepseek_v4_flash_vision_exp",
      "display_name": "DeepSeek V4 Flash Vision Exp",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-09-06",
      "notes": "Benchmark run with 2-shot learning at high reasoning effort; incomplete at 35/36 evaluation predictions after repeated provider timeouts"
    },
    "annotator": "DeepSeek V4 Flash Vision Exp",
    "annotation_date": "2026-09-06T01:17:12.767227",
    "file_results": [
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:08.863854",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:17:12.767227",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "N",
            "corrected_text": "\"N",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:01.989870",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:29:34.704876",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "O more",
            "corrected_text": "NO more",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:09.349443",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T02:18:54.347893",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "O",
            "corrected_text": "NO",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:16.399935",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:17:16.277288",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:05.453082",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:30:23.198536",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day,",
            "corrected_text": "to-day?",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:10.317992",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T02:18:15.779079",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones.\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:12.179432",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:17:41.950694",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The predicted edit changes \"said\" \u2192 \"asked\" without including the following context \"Clennam.\" This still captures the core intended change (replacing \"said\" with \"asked\"). The omission of surrounding context does not alter the essential correction being made.\n\nTherefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "he",
            "corrected_text": "If he",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:08.995174",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:44:20.722656",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb in the phrase \"said Clennam\" to \"asked Clennam\". The prediction changes \"said\" to \"asked\" without including the following context (\"Clennam\"), but it captures the essential intended change (said \u2192 asked). The omitted context does not alter the core correction, and \"Clennam\" would remain unchanged.\n\nTherefore, the predicted edit correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:08.914222",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:57:52.097855",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the type matches.\n2) Text Content Accuracy: The ground truth changes the verb phrase from \"said Clennam\" to \"asked Clennam\". The predicted edit changes \"said\" to \"asked\" without including the following word \"Clennam\" in the span. This still captures the core intended correction (replacing \"said\" with \"asked\"); the omitted context does not alter the essential edit. Therefore the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "he",
            "corrected_text": "If he",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:07.149289",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:28:00.341913",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam!",
            "corrected_text": "Clennam!,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mean?",
            "corrected_text": "mean?,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "broad",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "and",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:19.270791",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:31:41.854640",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction applies the same core change\u2014adding a comma immediately after \"said\"\u2014but includes additional preceding context (\"and said\" \u2192 \"and said,\"). This preserves the essential intended edit (comma insertion after \"said\").\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "amazement.",
            "corrected_text": "amazement,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:09.015951",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:42:56.272853",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clemnam",
            "corrected_text": "Clemnam,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:32.052511",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:17:33.878045",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:32.460644",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:30:19.358728",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW.",
            "corrected_text": "SUN AND SHADOW",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:32.464738",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:43:30.156396",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:40.943253",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:18:15.176785",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "wet,",
            "corrected_text": "wet, lythen",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "sodden lythen",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:32.054300",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:40:44.228605",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late",
            "corrected_text": "A late",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chalons",
            "corrected_text": "Chalons a",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees broken",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:45.878899",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:47:26.492082",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "he",
            "corrected_text": "he",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "with",
            "corrected_text": "with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "the",
            "corrected_text": "the",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "was",
            "corrected_text": "was",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:41.268761",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:18:08.284638",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hurried words",
            "corrected_text": "hurried indeed words",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "And, now, Minnie Gowan,",
            "corrected_text": "I hope so And, now, Minnie Gowan,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:46.915887",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:30:36.792289",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "rais-",
            "corrected_text": "rais- indeed",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"will",
            "corrected_text": "\"will I hope so",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:47.700741",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:43:16.089341",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:57.556221",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:17:38.233923",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and",
            "corrected_text": "and,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:57.527128",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:58:08.528421",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation, inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The core change is identical, with no discrepancy in original or corrected text."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:50:07.153897",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:18:03.020812",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy, in whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"Thank you,\" murmured",
            "corrected_text": "Thank you, \"Thank you,\" murmured",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "withindoors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:50:03.213227",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:30:20.308386",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.",
            "corrected_text": "is now.\"Thank you\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that my",
            "corrected_text": "that in my",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:50:03.872548",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:44:04.312684",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "in our whatever",
            "corrected_text": "in our fancy whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "now.\" \"Thank you,\"",
            "corrected_text": "now.\" \"Thank you,\" \"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:50:00.631481",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:17:56.746114",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "THE",
            "corrected_text": "The",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "lucant return",
            "corrected_text": "lucant to return",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:49:55.922636",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:30:15.543799",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "a stand-still",
            "corrected_text": "a to stand-still",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:50:09.541854",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T02:17:49.243104",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "The house",
            "corrected_text": "The cof house",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "piece of clockwork.",
            "corrected_text": "to piece of clockwork.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:50:07.449718",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:20:45.594513",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "and",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:50:20.494497",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:30:22.125090",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 36,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"authorize\" with \"authorise\". This captures the same core spelling change intended in the ground truth. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the dryest snorls",
            "corrected_text": "driest of snorls",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:50:17.212775",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:44:12.128607",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the type as \"italicize\", so the edit type matches exactly.\nText Content Accuracy: Both specify italicizing the same text, \"him\" \u2192 \"him\" (format change only). The core intended change\u2014applying italics to the word \"him\"\u2014is captured identically. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"authorize\") and the same corrected text (\"authorise\"), capturing the identical core spelling change. No mismatch in the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:50:16.829130",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:28:24.156169",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Panks",
            "corrected_text": "Pancks",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:50:16.387245",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:30:40.526928",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_deepseek_v4_flash_vision_exp",
        "date": "2026-09-06T02:50:22.623544",
        "annotator": "DeepSeek V4 Flash Vision Exp",
        "annotation_date": "2026-09-06T01:45:47.187655",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "bedroom",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "another back",
            "corrected_text": "another back",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Good gracious, Arthur",
            "corrected_text": "Good gracious, Arthur",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a faded check",
            "corrected_text": "a faded check",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "making me that",
            "corrected_text": "making me not that",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "is making me",
            "corrected_text": "is making me",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "In times for ever fled Arthur,",
            "corrected_text": "In times for ever fled Arthur,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at least",
            "corrected_text": "at least,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "never be recalled",
            "corrected_text": "never be recalled",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "bed",
            "corrected_text": "bed",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "For",
            "corrected_text": "For",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "DeepSeek",
    "release_date": "2026-08-21",
    "release_source": "https://api-docs.deepseek.com/news/news260821/",
    "release_notes": "Experimental vision-enabled DeepSeek V4 Flash model. Benchmark configuration uses high reasoning effort.",
    "display_suffix": "*",
    "display_note": "Incomplete run: 35 of 36 evaluation predictions completed; one request repeatedly timed out at the provider."
  },
  {
    "model_name": "GLM 4.6V",
    "model_id": "or_glm_4_6v",
    "date": "2026-02-22T14:16:09.096409",
    "shots": 2,
    "config": {
      "model_id": "or_glm_4_6v",
      "display_name": "GLM 4.6V",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-02-22",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GLM 4.6V",
    "annotation_date": "2026-02-22T14:04:54.918185",
    "file_results": [
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:37.951108",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:04:54.918185",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "n",
            "corrected_text": "N",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:25.941708",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:07:04.968741",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:26.282595",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:09:00.620898",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:25.941610",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:09:07.721021",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:26.737776",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:09:00.644677",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:30.541724",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:04:41.163091",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The evaluation involves two criteria: edit type accuracy and text content accuracy. \n\n1. Edit Type Accuracy: The ground truth and the predicted edit both specify 'capitalization' as the type of edit. This matches exactly, fulfilling the requirement for edit type accuracy.\n\n2. Text Content Accuracy: The ground truth edit changes the text from 'why did he dine' to 'Why did he dine', specifically involving the capitalization of the first word from 'why' to 'Why'. The predicted edit focuses on the core change by highlighting the adjustment of 'why' to 'Why', which is the essential modification indicated by the ground truth. The prediction captures the essential capitalization change despite providing less context than the ground truth, which is permissible as per the guidelines.\n\nSince both the edit type and the essential text content change are accurately represented in the prediction, the predicted edit correctly captures the intention of the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on both criteria. Firstly, the edit type is accurate, as both the ground truth and the prediction indicate a 'punctuation' type of edit. Secondly, the text content accuracy is also correct, as both the ground truth and the prediction reflect the change from 'cold stones!' to 'cold stones?'. This matches precisely, capturing the core change of replacing the exclamation mark with a question mark. Thus, both criteria are satisfied, and the prediction can be considered correct."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:26.344040",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:09:00.636187",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:28.784853",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:04:59.533724",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The edit type in both the ground truth and the predicted edit is 'replacement', which matches exactly, satisfying the first criterion for edit type accuracy. For text content accuracy, the core change identified by both the ground truth and the prediction is replacing 'said' with 'asked'. While the ground truth includes the additional context 'Clennam', this does not alter the fundamental transformation being applied to the text. Both scenarios capture the essential edit of changing \u2018said\u2019 to \u2018asked,\u2019 which means the prediction correctly interprets the main intention of the ground truth edit. As both criteria are met, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "If",
            "corrected_text": "I can",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:26.282482",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:04:20.586233",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "If",
            "corrected_text": "I cap",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:43.134764",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:08:03.745277",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:54.480072",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:05:46.647416",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation'. Since the types match exactly, the prediction meets the edit type criterion. 2. Text Content Accuracy: The core change in the ground truth is the insertion of a comma after 'said', changing 'said when' to 'said, when'. The predicted edit captures this essential change by showing a transition from 'said' to 'said,' which includes the insertion of the comma after 'said'. Although the predicted edit doesn't mention 'when', it is still considered accurate according to the text content criterion since it captures the core change required, which is the addition of the punctuation after 'said'. As both criteria are satisfactorily met, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "alive!",
            "corrected_text": "alive!,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "highway",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "her",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:50.093886",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:06:23.849755",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "her",
            "corrected_text": "",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:53.786577",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:10:27.914879",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:47.489701",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:06:48.076295",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit and the ground truth edit both accurately identify the type of edit as 'punctuation', focusing on the addition of a period to the phrase 'Sun and Shadow'. Both edits correctly change 'Sun and Shadow' to 'Sun and Shadow.', capturing the core modification needed. The line number is intentionally ignored for this evaluation, and hence does not affect the correctness of the prediction. The purpose of the edit\u2014adding punctuation at the end of the sentence\u2014is maintained. Therefore, both the edit type and the text content match the ground truth's intention accurately."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:14:56.592191",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:07:03.952342",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit and the ground truth both have the same edit type, which is 'punctuation'. This matches accurately with the requirement for edit type accuracy. For text content accuracy, the ground truth shows a change from 'Sun and Shadow' to 'Sun and Shadow.', indicating an addition of a period at the end. The predicted edit also reflects this change from 'Sun and Shadow' to 'Sun and Shadow.', capturing the core correction of adding a period. Therefore, the prediction accurately captures the essential change as shown in the ground truth, despite any potential differences in line numbers, which are ignored in this evaluation. Both criteria for correctness\u2014edit type and text content\u2014are satisfied, leading to the conclusion that the prediction is correct."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:00.753138",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:08:22.390522",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late, dull autumn night",
            "corrected_text": "A late, dull autumn night",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:00.436839",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:10:54.991451",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:09.893902",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:09:00.678627",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:17.411558",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:09:11.245612",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "generous",
            "corrected_text": "",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:15.179829",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:10:03.560421",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "generous",
            "corrected_text": "",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "thanked him indeed from her heart",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:23.026885",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:10:13.996865",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked him from her heart",
            "corrected_text": "indeed she thanked him from her heart",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "generous",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:21.717564",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:10:25.649320",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters little",
            "corrected_text": "hers, matters little",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with a look",
            "corrected_text": "moment, with a look",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "idea.",
            "corrected_text": "idea,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:22.283489",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:10:32.732649",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters little",
            "corrected_text": "on hers, matters little",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment with a look",
            "corrected_text": "for a moment, with a look",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sorrow for him she was so beautiful",
            "corrected_text": "sorrow for him, she was so beautiful",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "peace\u2014or ill for his peace",
            "corrected_text": "peace\u2014or ill, for his peace",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:27.345485",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:10:42.705894",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers, and",
            "corrected_text": "hers and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers, matters",
            "corrected_text": "hers matters",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment, with",
            "corrected_text": "moment with",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sorrow for him, she",
            "corrected_text": "sorrow for him she",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:39.602771",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:10:51.883047",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 25,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit captures the essential change specified in the ground truth. Both edits are of type 'replacement', which is an exact match, satisfying the first criterion of edit type accuracy. For the text content accuracy, both the ground truth and the prediction performed the same core change, replacing 'within doors' with 'within-doors'. The predicted edit correctly interprets the necessary text modification, accomplishing the key aspect of replacing a space with a hyphen as intended by the ground truth. Therefore, both criteria are fully met, making the prediction correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 30,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The evaluation criteria require us to judge the prediction based on two factors: edit type accuracy and text content accuracy. \n\n1. **Edit Type Accuracy:** The predicted edit type is 'replacement,' which matches the ground truth's edit type of 'replacement.' Therefore, the edit type accuracy is fulfilled.\n\n2. **Text Content Accuracy:** The prediction specifies a change from 'that' to 'than,' which matches the core change described in the ground truth. This indicates that the key modification in text content, which is replacing 'that' with 'than,' is accurately captured by the prediction. Additional context or line numbers are irrelevant for this evaluation as stipulated by the instructions.\n\nSince both the edit type and the textual content modification align with the ground truth, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:40.067223",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:10:53.931784",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit and the ground truth edit match in both the edit type and the text content. \n\n1. Edit Type Accuracy: The type 'replacement' is consistent in both the ground truth and the predicted edit, indicating the prediction successfully identified the type of correction required.\n\n2. Text Content Accuracy: The core change involves replacing 'within doors' with 'within-doors'. Both the ground truth and the predicted edit capture this exact change, demonstrating an accurate recognition of the intended modification. Additional context, and the discrepancy in line numbers are intentionally ignored as per the evaluation instructions, and do not affect the accuracy of the content change itself.\n\nTherefore, taking into consideration all these aspects, the prediction captures both the type and content of the correction accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit is correct in terms of edit type and text content accuracy. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit have the same 'type': 'replacement'. This matches exactly, fulfilling the requirement for edit type accuracy.\n\n2. Text Content Accuracy: The ground truth specifies a replacement of the word 'that' with 'than'. The prediction matches this exactly, as it also indicates the replacement of 'that' with 'than'. The essential change is correctly captured in the predicted edit since it changes the same word in the same way. \n\nSince both criteria \u2013 edit type and text content accuracy \u2013 are met, the prediction correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:47.707356",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:11:33.694173",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit successfully matches the ground truth edit in both criteria that are relevant for this evaluation. Firstly, the edit type is 'replacement' in both the ground truth and the predicted edit, satisfying the requirement for Edit Type Accuracy. Secondly, regarding Text Content Accuracy, the core change involves replacing 'that' with 'than'. The predicted edit captures this essential change correctly, even if additional context like surrounding text is considered, meaning the primary alteration (changing 'that' to 'than') was accurately identified. Therefore, the prediction aligns with the intentions of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy whatever Pet was",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:48.334015",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:11:26.017612",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 2,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit matches the ground truth edit in terms of type and text content. First, the edit type for both the ground truth and the prediction is 'replacement', which indicates they are of the same type. Second, the original text 'of' and the corrected text 'to' are identical in both cases. Therefore, the core change that the ground truth identifies is accurately captured by the predicted edit, as it reflects the same transformation from 'of' to 'to'. Since both criteria (edit type and text content) are satisfied, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "liege",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:50.574678",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:12:38.610548",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "liege",
            "corrected_text": "",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "xxix",
            "corrected_text": "XXIX",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "to",
            "corrected_text": "",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:56.682701",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:11:33.042018",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly matches the ground truth in terms of edit type and text content accuracy. Both edits are classified as 'capitalization' edits, which matches the requirement for edit type accuracy. For text content accuracy, the essential change is from 'city' to 'City', which is precise and consistent in both the ground truth and the predicted edit. Therefore, despite a discrepancy in line numbers, which is not considered in this evaluation, the predicted edit accurately captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence",
            "corrected_text": "busy existence,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "liege",
            "corrected_text": "",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:49.021202",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:11:38.371446",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 4,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit and the ground truth edit both identify the change type as 'replacement', which matches exactly and thereby satisfies the criterion for Edit Type Accuracy. For Text Content Accuracy, the core change identified by the ground truth is the transformation from 'of the dryest snorts.' to 'of the driest of snorts.', focusing specifically on replacing 'dryest' with 'driest of'. The predicted edit captures this essential change by transforming 'dryest snorts' into 'driest of snorts', which includes the key modification 'dryest' \u2192 'driest of'. Even though the predicted edit does not include 'of the' at the beginning and 'of' at the end, this additional context is not necessary for capturing the core change. Therefore, since both criteria are satisfied, the prediction correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:51.601597",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:12:02.274179",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 4,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the predicted edit have the type 'replacement'. This means the edit type matches exactly, fulfilling the first criterion.\n\n2. Text Content Accuracy: The core change being captured involves replacing 'dryest snorts' with 'driest of snorts.' The predicted edit has successfully identified this change, despite capturing only 'dryest snorts' instead of 'of the dryest snorts' from the ground truth. However, since the essential change 'dryest' to 'driest of' is accurately reflected, and additional context (words before/after the change) is permissible, the prediction meets the text content requirement.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit, fulfilling both criteria."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:15:58.047036",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:12:00.231038",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'replacement', which matches the ground truth's edit type of 'replacement'. Thus, the edit type is correct. \n\n2. Text Content Accuracy: The core change in both the ground truth and the prediction involves altering 'dryest snorts' to 'driest of snorts'. While the ground truth includes an article 'of the dryest snorts' compared to the prediction 'dryest snorts', the essential modification from 'dryest' to 'driest of' is maintained in the prediction. The presence of additional context ('of the' versus none) in the ground truth does not negate that the primary correction focus\u2014the phrase 'dryest'\u2014is accurately transformed in both cases. Therefore, the content of the edit is correct. \n\nSince both the edit type and the text content are accurately captured in the prediction, the overall edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:16:00.811382",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:12:25.550484",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "making me,",
            "corrected_text": "making me",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cucumber",
            "corrected_text": "Cucumber",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:16:00.909728",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:14:07.360518",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_glm_4_6v",
        "date": "2026-02-22T14:16:09.096409",
        "annotator": "GLM 4.6V",
        "annotation_date": "2026-02-22T14:12:25.617393",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me,",
            "corrected_text": "making me",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Zhipu AI",
    "release_date": "2025-12-08"
  },
  {
    "model_name": "GPT-4 Turbo",
    "model_id": "gpt-4-turbo",
    "date": "2026-02-22T15:21:47.776515",
    "shots": 2,
    "config": {
      "model_id": "gpt-4-turbo",
      "display_name": "GPT-4 Turbo",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-4 Turbo",
    "annotation_date": "2025-04-07T21:09:09.857564",
    "file_results": [
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:07.383538",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:09:09.857564",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "over yonder, to-day, Sir, is there?",
            "corrected_text": "howling over yonder, to-day, Sir, is there?",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:02.281713",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:11:48.518589",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder, to-day, Sir, is there",
            "corrected_text": "yonder, to-day, Sir, is there?",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:01.470921",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:15:23.605995",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder, to-day, Sir, is there",
            "corrected_text": "yonder, to-day, Sir, is there?",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:08.204693",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:10:01.292285",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "misgiving",
            "corrected_text": "reason",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:15.886105",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:12:49.645279",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine to",
            "corrected_text": "why did he deign to",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "CAP",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "remark in margin",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:07.552054",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:16:27.171055",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine to",
            "corrected_text": "why did he deign to",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "remark in margin",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:01.619134",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:10:52.644999",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:15.961174",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:13:47.402159",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 34,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he,\" which is specifically capitalizing the word \"if\" at the start of the phrase. The prediction changes \"if\" to \"If,\" capturing the same core capitalization change, just with less surrounding context. Since the essential correction (lowercase \"if\" \u2192 capitalized \"If\") is correctly represented, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\", whose core correction is replacing the word \"said\" with \"asked\" while leaving \"Clennam\" unchanged. The prediction replaces \"said\" with \"asked\" (without including the following context \"Clennam\"), which still captures the essential intended change. Including less surrounding text is acceptable as long as the core replacement is correct.\n\nTherefore, the predicted edit correctly reflects the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:01.469291",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:17:29.461838",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:23.727429",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:11:55.108018",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "found, and on his",
            "corrected_text": "found, and on his",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:25.724661",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:14:41.805033",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both edits change \"said\" to \"said,\" by adding a comma. This captures the core intended correction with identical original and corrected text. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:33.873274",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:18:29.337393",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when\". The predicted edit \"said\" \u2192 \"said,\" captures the same core punctuation insertion (adding a comma immediately after \"said\"). Although it omits the following word \"when\" from the edit span, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:30.181341",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:12:47.820490",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the same core punctuation correction with identical original and corrected text. Line number differences are ignored as instructed."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:29.913253",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:15:36.416022",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the same core punctuation correction. Line numbers are ignored as instructed."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:30.020852",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:19:20.540147",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the same core punctuation correction. Line numbers are ignored as instructed."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:39.741553",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:13:51.223112",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gloomy place, reflected",
            "corrected_text": "gloomy place, reflected",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone it was wet",
            "corrected_text": "Saone it was wet,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with wet",
            "corrected_text": "sodden with wet;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:40.764152",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:16:33.091994",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "looking-glass in",
            "corrected_text": "looking-glass, in",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone it",
            "corrected_text": "river Saone, it",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with",
            "corrected_text": "sodden, with",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:42.384426",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:20:26.179994",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "looking-glass in",
            "corrected_text": "looking-glass, in",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with",
            "corrected_text": "sodden, with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:52.433211",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:14:57.039117",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I would have",
            "corrected_text": "I wouldhave",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped",
            "corrected_text": "hope",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hope so",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:54.705542",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:17:37.180057",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I would have",
            "corrected_text": "I wouldhave",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "generous",
            "corrected_text": "",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped",
            "corrected_text": "I hoped",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hope so",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:52.480657",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:21:29.109067",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I would have",
            "corrected_text": "I wouldhave",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hope so",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:20:50.168525",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:15:57.705769",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they are to be married.",
            "corrected_text": "They are to be married.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hers",
            "corrected_text": "cap",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:01.017345",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:18:30.986941",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hers",
            "corrected_text": "his",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:05.251621",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:22:22.098857",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hers",
            "corrected_text": "his",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:18.985246",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:16:47.104511",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "that in",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "that once",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:12.933954",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:19:35.378892",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "that once were",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:16.649851",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:23:21.246599",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "that once were",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:32.840000",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:17:55.500184",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city (CCCP)",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "lucrative",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:20.644389",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:20:45.498627",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 19,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit inserts a comma in the same location within a larger span of text (\"view by\" \u2192 \"view, by\"). This includes extra context but preserves the core intended change: adding a comma immediately after \"view.\" \u0907\u0938\u0932\u093f\u090f the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city (CCCP)",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "lucrative",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence; at",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:20.949167",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:24:22.438285",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city (CCCP)",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "lucrative",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:19.034237",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:18:55.318775",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "boiling over",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:32.004865",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:21:45.734499",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "bubbling out of him",
            "corrected_text": "bubbling out of him",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:34.514685",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:25:23.213441",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 28,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction identify the same target text \"him\" and the corrected text remains \"him\" with the intention to apply italics. This captures the same core change (formatting \"him\" in italics). Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "boiling over",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:41.922103",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-07T21:19:56.165108",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 9,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". This captures the core intended change precisely. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bedroom,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sight as this and",
            "corrected_text": "sight as this, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me",
            "corrected_text": "making me,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "apology",
            "corrected_text": "apology,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur",
            "corrected_text": "Arthur,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "a",
            "corrected_text": "",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:42.344489",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T00:22:57.607840",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 9,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"quickly that\" to \"quickly, that\" by inserting a comma after \"quickly.\" This captures the same core punctuation correction as the ground truth. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bedroom,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sight as this and",
            "corrected_text": "sight as this, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me",
            "corrected_text": "making me,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "apology",
            "corrected_text": "apology,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "excuse it when",
            "corrected_text": "excuse it, when",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur",
            "corrected_text": "Arthur,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "though unquestionably distant still",
            "corrected_text": "though unquestionably distant, still",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and if I did I suppose it would depend considerably on the nature of the view but",
            "corrected_text": "and if I did, I suppose it would depend considerably on the nature of the view, but",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "a",
            "corrected_text": "",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-4-turbo",
        "date": "2026-02-22T15:21:47.776515",
        "annotator": "GPT-4 Turbo",
        "annotation_date": "2025-04-08T07:26:30.733904",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 9,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation: \"quickly that\" \u2192 \"quickly, that\", i.e., inserting a comma after \"quickly\". This captures the core intended edit with identical original and corrected text.\n\nLine numbers are ignored per instructions, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bedroom,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sight as this and",
            "corrected_text": "sight as this, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me",
            "corrected_text": "making me,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "apology",
            "corrected_text": "apology,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "excuse it when",
            "corrected_text": "excuse it, when",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur",
            "corrected_text": "Arthur,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "though unquestionably distant still",
            "corrected_text": "though unquestionably distant, still",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view but",
            "corrected_text": "view, but",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "a",
            "corrected_text": "",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2023-11-06",
    "release_source": "https://openai.com/index/new-models-and-developer-products-announced-at-devday/"
  },
  {
    "model_name": "GPT-4.1",
    "model_id": "gpt_4_1",
    "date": "2026-02-22T15:30:19.242396",
    "shots": 2,
    "config": {
      "model_id": "gpt_4_1",
      "display_name": "GPT-4.1",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-14",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-4.1",
    "annotation_date": "2025-04-14T11:01:46.386970",
    "file_results": [
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:28:22.428148",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:01:46.386970",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over yonder to-day, sir; is there?",
            "corrected_text": "howling, over yonder, to-day, sir; is there?",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth core change is inserting a comma between \"howling\" and \"over\" (\"howling over\" \u2192 \"howling, over\"). The prediction includes a larger span of surrounding text, but it does make the same essential change: \"howling over ...\" \u2192 \"howling, over ...\". Although the prediction also introduces additional commas elsewhere (e.g., after \"yonder\" and \"to-day\"), it still captures the ground truth\u2019s intended punctuation change at the target location.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and rattling",
            "corrected_text": "pockets, and rattling",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and\". The prediction applies the same core punctuation change in a longer span: \"pockets and rattling\" \u2192 \"pockets, and rattling\". This includes extra surrounding context but preserves the essential intended edit (adding a comma after \"pockets\").\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:28:39.750903",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:16:03.736710",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and rattling",
            "corrected_text": "pockets, and rattling",
            "observed_line_number": 14,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth correction inserts a comma after the word \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The predicted edit makes the same essential change, inserting a comma after \"pockets\" (\"pockets and rattling\" \u2192 \"pockets, and rattling\"). The prediction includes additional surrounding context (\"rattling\"), but the core punctuation change is identical to the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers .",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over yonder to-day, sir; is there?",
            "corrected_text": "howling, over yonder, to-day, sir; is there?",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:28:30.896000",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:53:45.819507",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and rattling",
            "corrected_text": "pockets, and rattling",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and.\" The prediction makes the same core punctuation change\u2014adding a comma after \"pockets\"\u2014but includes additional surrounding context (\"rattling\"). Since the essential edit (\"pockets\" \u2192 \"pockets,\") is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over yonder to-day, sir; is",
            "corrected_text": "howling over yonder to-day, sir, is",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:28:30.074935",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:02:42.064439",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "why did he dine to-",
            "corrected_text": "Why did he dine to-",
            "observed_line_number": 27,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word \"why\" to \"Why\" in the phrase \"why did he dine\". The predicted edit applies the same capitalization change (\"why\" \u2192 \"Why\") but includes additional trailing context (\"to-\"). Including extra surrounding words is acceptable as long as the core change is the same, which it is here.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:28:28.837310",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:16:58.528140",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "why did he dine to-",
            "corrected_text": "Why did he dine to-",
            "observed_line_number": 27,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word \"why\" to \"Why\" in the phrase \"why did he dine\". The prediction applies the same capitalization change (\"why\" \u2192 \"Why\") but includes additional trailing context (\"to-\"). This added context does not change the core intended correction; it still captures the essential capitalization edit correctly.\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:28:29.283626",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:54:36.742326",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why did he dine to-",
            "corrected_text": "Why did he dine to-",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial \"why\" to \"Why\" in the phrase \"why did he dine\". The prediction makes the same core capitalization change (\"why\" \u2192 \"Why\") and simply includes additional trailing context (\"to-\") on both the original and corrected sides. Since the essential intended change\u2014capitalizing the first word\u2014is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:28:31.489465",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:03:32.966167",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 34,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same core change by capitalizing \"if\" \u2192 \"If\". Although it omits the following word (\"he\"), it still represents the essential intended correction: changing the lowercase \"if\" to uppercase \"If\" at that location. Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 37,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core intended change by replacing \"said\" with \"asked\" (even though it omits the trailing context \"Clennam\"). Since the essential correction is the same word substitution, the text content matches the ground truth's intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:28:32.211168",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:17:41.697214",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\", whose core correction is replacing the word \"said\" with \"asked\". The predicted edit replaces \"said\" with \"asked\" (without including the trailing context \"Clennam\"). Omitting surrounding context is acceptable as long as the essential change is captured, and it is. Therefore, the prediction matches the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:28:48.053065",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:55:28.171885",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 33,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"capitalization,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the word \"if\" at the beginning of the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same core change by converting \"if\" \u2192 \"If.\" Although it includes less surrounding context (omitting \"he\"), the essential intended correction\u2014capitalizing \"if\"\u2014is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb phrase from \"said Clennam\" to \"asked Clennam,\" whose core intended correction is replacing \"said\" with \"asked\" while keeping the rest of the phrase the same. The predicted edit replaces \"said\" with \"asked\" without including the trailing context (\"Clennam\"), but it still captures the essential change identified in the ground truth. Including less surrounding text is acceptable as long as the core change is correct."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:28:58.306262",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:04:32.916397",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: \"about and\" \u2192 \"about, and\" (inserting a comma after \"about\"). This captures the core intended correction with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The corrected text matches the ground truth\u2019s intended punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 32,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both edits change the same original text \"Clennam in\" to the same corrected text \"Clennam, in,\" inserting a comma after \"Clennam.\" This captures the core intended correction exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:00.810579",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:18:36.248948",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same correction (\"about, and\"), capturing the identical core change\u2014adding a comma after \"about\". Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"said\" is corrected to \"said,\" by adding a comma. The essential edit is identical. Line numbers are ignored as instructed, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 32,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction make the same core change: inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The original and corrected text strings match exactly, so the intended punctuation correction is correctly captured.\n\nLine numbers are ignored as instructed, so the differing line_number values do not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:28:56.646582",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:56:19.218337",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"about and\" to \"about, and\", inserting a comma after \"about\". The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:05.845097",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:05:27.768308",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:05.189973",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:19:22.151832",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:06.111963",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:57:17.347463",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:07.799792",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:06:20.044209",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "wet,",
            "corrected_text": "wet,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late, dull autumn night",
            "corrected_text": "A late, dull autumn night",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:21.560449",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:20:14.457694",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "autumn night",
            "corrected_text": "autumn night,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone it",
            "corrected_text": "Saone, it",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "soddenwith",
            "corrected_text": "soddened with",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:31.113524",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:58:15.839564",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late, dull autumn night",
            "corrected_text": "A late, dull autumn night",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone it",
            "corrected_text": "Saone, it",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:30.958463",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:07:19.357714",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "I hope so;",
            "corrected_text": "I hoped so;",
            "observed_line_number": 31,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The core intended change is converting \"hope\" to past tense \"hoped\" in the phrase \"I hope so\" \u2192 \"I hoped so\". The predicted edit captures this exact core change (\"I hope so;\" \u2192 \"I hoped so;\"). Although the prediction includes a semicolon as additional surrounding context, it does not alter the essential correction (hope \u2192 hoped). Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam,",
            "corrected_text": "said Clennam; ",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:25.230950",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:21:09.525288",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "That's well! I hope so;",
            "corrected_text": "That's well! I hoped so;",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:31.514463",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:59:06.858204",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "That's well! I hope so;",
            "corrected_text": "That's well! I hoped so;",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:40.225952",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:08:17.157900",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both edits change the phrase \"hers and\" to \"hers, and\" by inserting a comma after \"hers\". The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The predicted edit also inserts a comma after \"hers\" (\"on hers matters\" \u2192 \"on hers, matters\"). Although the prediction includes extra surrounding context (the preceding word \"on\"), it preserves the same core punctuation change at the same location. Therefore, it correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\", yielding \"beautiful, that\". The core punctuation change is identical. Line number differences are ignored per instructions."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "they are to be married.",
            "corrected_text": "They are to be married.",
            "observed_line_number": 33,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth correction is to capitalize \"they\" to \"They\". The predicted edit applies the same core change\u2014capitalizing the initial \"they\"\u2014but includes additional surrounding context (\"are to be married.\"). This still captures the essential intended correction (\"they\" \u2192 \"They\").\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation, that papa had abandoned the idea.",
            "corrected_text": "hesitation, that papa had abandoned the idea.",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:41.352957",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:21:59.516309",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit changes \"hers and\" to \"hers, and,\" which is functionally inserting a comma after \"hers\" before the conjunction \"and.\" The predicted edit changes \"hers\" to \"hers,\", which captures the same core punctuation change (adding the comma after \"hers\"). Although the prediction omits the following word \"and\" from its context, it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"hers matters\" to \"hers, matters\", which is specifically inserting a comma after the word \"hers\". The prediction changes \"hers\" to \"hers,\", which captures the same essential punctuation insertion at the same location. Although the prediction includes less surrounding context (it omits \"matters\"), it still reflects the core intended edit: adding a comma after \"hers\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"moment\" in the phrase \"moment with\" \u2192 \"moment, with.\" The predicted edit \"moment\" \u2192 \"moment,\" captures the same core punctuation change (adding a comma immediately after \"moment\"). Although it does not include the following word \"with,\" it still correctly represents the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth change is \"they\" \u2192 \"They\". The predicted edit makes the same core change, capitalizing the initial letter of the word. There is no discrepancy in original or corrected text content."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that papa had abandoned",
            "corrected_text": "that papa had abandoned,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:46.278269",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T12:00:00.360384",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after the word \"hers\" in the phrase \"hers and\" to become \"hers, and.\" The predicted edit changes \"hers\" to \"hers,\", which captures the same essential punctuation insertion (a comma immediately after \"hers\"). Although it omits the following word \"and\" from the context, it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"hers\" in the phrase \"hers matters\" (\"hers matters\" \u2192 \"hers, matters\"). The predicted edit also adds a comma immediately after \"hers\" (\"hers\" \u2192 \"hers,\"). Although the prediction includes less surrounding context (it omits \"matters\"), it captures the core intended punctuation change: inserting a comma after \"hers\". Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"moment\" in the phrase \"moment with\" \u2192 \"moment, with\". The predicted edit \"moment\" \u2192 \"moment,\" captures the same core punctuation change (adding a comma immediately after \"moment\"). Although it includes less surrounding context (does not include \"with\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth. Text Content Accuracy: Both ground truth and prediction change \"beautiful that\" to \"beautiful, that,\" inserting a comma after \"beautiful.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the types match exactly.\n\n2) Text Content Accuracy: The ground truth changes \"they\" to \"They\" (capitalizing the first letter). The predicted edit makes the exact same change from \"they\" to \"They\". This captures the core intended correction precisely.\n\nTherefore, the prediction is correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation, that papa had abandoned the idea.",
            "corrected_text": "hesitation, that papa had abandoned the idea.",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:44.154411",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:09:17.041322",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"shore\" in the phrase \"shore and\" to make it \"shore, and.\" The original_text and corrected_text match the ground truth\u2019s core change exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "within-doors",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:53.330613",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:22:51.378836",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change of inserting a comma after \"shore\". Line numbers are ignored as instructed. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "within-doors",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:29:53.359343",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T12:00:58.672444",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"shore\" in the phrase \"shore and\" to make it \"shore, and\". The original_text and corrected_text match the ground truth\u2019s intended punctuation change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "within-doors",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that in our fancy,",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:30:12.332999",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:10:27.310011",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 3,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth changes \"city\" to \"City.\" The predicted edit makes the same core change (\"city\" \u2192 \"City\") with identical original and corrected text. Since line numbers are ignored, the prediction captures the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit adds the same comma after \"motionless\" in context (\"motionless when\" \u2192 \"motionless, when\"). Although the prediction includes the following word \"when\" as additional context, it captures the core intended punctuation change correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them:",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "uniform and",
            "corrected_text": "uniform, and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,at",
            "corrected_text": "existence, at",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;to",
            "corrected_text": "it; to",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,by",
            "corrected_text": "view, by",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:30:02.106241",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:23:51.981023",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\nText Content Accuracy: The predicted change matches the ground truth core change, converting \"city\" to \"City\" with identical original and corrected text. No additional or conflicting modifications are introduced.\n\nTherefore, the prediction correctly captures the ground truth edit intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction changes \"motionless when\" to \"motionless, when\", which likewise inserts a comma immediately after \"motionless\". Although the prediction includes extra surrounding context (the following word \"when\"), it captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them:",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it, to",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still, to",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence, at",
            "corrected_text": "existence at",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view, by",
            "corrected_text": "view by",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:30:13.440315",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T12:02:02.606709",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"city\" to \"City\", capturing the identical core correction. No mismatch in original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them;",
            "corrected_text": "with them,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "uniform and",
            "corrected_text": "uniform, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:30:05.888352",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:11:31.234009",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "snorts",
            "corrected_text": "snorts.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:30:08.183797",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:24:39.934253",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\nText Content Accuracy: Both edits replace the exact same original text \"authorize\" with the corrected text \"authorise\". This captures the core intended change (American to British spelling). Line numbers are ignored as instructed, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a little",
            "corrected_text": "a little,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "snorts",
            "corrected_text": "snorts.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:30:19.242396",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T12:02:55.572468",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the same original word \"authorize\" with the same corrected word \"authorise\". This captures the core intended change (American to British spelling) with no discrepancy in the text content. Line number differences are to be ignored."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "of the driest",
            "corrected_text": "of the driest,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "snorts",
            "corrected_text": "snorts.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:30:18.130359",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:12:23.651507",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For,Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me, not",
            "corrected_text": "making me not",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:30:07.051996",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T11:25:27.971485",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt_4_1",
        "date": "2026-02-22T15:30:16.058420",
        "annotator": "GPT-4.1",
        "annotation_date": "2025-04-14T12:03:53.275970",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": ",",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "k",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": ",",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2025-04-14",
    "release_source": "https://openai.com/index/gpt-4-1/"
  },
  {
    "model_name": "GPT-4.1 Mini",
    "model_id": "gpt_4_1_mini",
    "date": "2026-02-22T15:32:50.029870",
    "shots": 2,
    "config": {
      "model_id": "gpt_4_1_mini",
      "display_name": "GPT-4.1 Mini",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-14",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-4.1 Mini",
    "annotation_date": "2025-04-14T11:14:56.517181",
    "file_results": [
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:30:31.645469",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:14:56.517181",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "N",
            "corrected_text": "N",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howlingover",
            "corrected_text": "howling, over",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, Sir",
            "corrected_text": "to-day, Sir,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:30:50.499052",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:28:02.196555",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howlingover",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, Sir",
            "corrected_text": "to-day, sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:30:50.667183",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:06:36.915666",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howlingover",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, Sir",
            "corrected_text": "to-day, sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:30:36.855756",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:15:41.516526",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ",",
            "corrected_text": "",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine to-",
            "corrected_text": "cop question mark",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:30:40.520228",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:28:58.651072",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir,\" inserting a comma after \"No.\" This captures the core intended correction with no substantive difference.\n(Line number differences are ignored as instructed.)"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine to",
            "corrected_text": "cap question mark",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:30:42.399882",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:07:36.119502",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 7,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"No\" in \"No sir\" to produce \"No, sir\". The original and corrected text strings match the ground truth\u2019s intended punctuation change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine to",
            "corrected_text": "cop question mark",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:30:42.473995",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:16:28.945017",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "If",
            "corrected_text": "If To cap",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sad",
            "corrected_text": "asked",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:30:46.327256",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:30:00.570041",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "If",
            "corrected_text": "If T cep",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sad",
            "corrected_text": "asked",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:30:48.566494",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:08:25.521938",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "If",
            "corrected_text": "If T cap",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sad",
            "corrected_text": "asked",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:12.659297",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:17:17.895145",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ",",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "tion did",
            "corrected_text": "tion did not",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:09.058420",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:30:54.880709",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "tion did",
            "corrected_text": "tion did not",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ",",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:08.637000",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:09:25.316912",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "and",
            "corrected_text": "",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "did",
            "corrected_text": "did",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "earnestly",
            "corrected_text": "earnestly,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:10.577351",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:18:09.381172",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ".",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ".",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:05.370272",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:31:41.847784",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ".",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ".",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:10.795065",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:10:19.091682",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ".",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ".",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:25.554399",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:19:03.398451",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 3,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Saone\") and the same corrected text (\"Sa\u00f4ne\"), capturing the identical core change (adding the circumflex on the 'o'). Line numbers are to be ignored, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\nText Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\", correctly adding the circumflex accent over the \"o\". This captures the core intended correction with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 13,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction are labeled as a \"replacement,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"sodden\" to \"soddened.\" The prediction changes \"sodden with\" to \"soddened with,\" which includes extra surrounding context (\"with\") but preserves the same core correction (\"sodden\" \u2192 \"soddened\"). Therefore, the predicted edit captures the intended textual change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "A",
            "corrected_text": "A",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "stream, like",
            "corrected_text": "stream like",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "autumn",
            "corrected_text": "",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "One man slowly moving on towards Chalons was",
            "corrected_text": "One man slowly moving on towards Chalons, was",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:30.394319",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:32:36.122665",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 13,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2. Text Content Accuracy: The ground truth changes \"sodden\" to \"soddened\". The prediction changes \"sodden with\" to \"soddened with\", which includes extra surrounding context but preserves the same core correction (adding \"ed\" to \"sodden\"). Therefore, the essential intended edit is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "stream, like",
            "corrected_text": "stream like",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "autumn",
            "corrected_text": "",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "a",
            "corrected_text": "A",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "One man slowly moving on towards Chalons was",
            "corrected_text": "One man slowly moving on towards Chalons, was",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:15.409496",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:11:21.818123",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the original text \"Saone\" with the corrected text \"Sa\u00f4ne\" (adding the circumflex over 'o'). The core change is identical in the prediction and ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "On the banks of the river Saone it was wet",
            "corrected_text": "On the banks of the river Sa\u00f4ne it was wet",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "One man slowly moving on towards Chalons was",
            "corrected_text": "One man slowly moving on towards Chalons, was",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with wet",
            "corrected_text": "sodden with",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "A late, dull autumn night",
            "corrected_text": "A late, dull autumn night",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:33.698498",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:19:58.564313",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 7,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"heart so\" and the same corrected text \"heart, so\", capturing the identical core change (inserting a comma after \"heart\"). Ignoring line numbers, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "x",
            "corrected_text": "",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as",
            "corrected_text": "indeed tially up into his face, with some hurried words to the effect that she thanked him from her heart (as",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:36.024838",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:33:28.941008",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "his own",
            "corrected_text": "his, own",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "generous",
            "corrected_text": "generous,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "face, with some hurried words to the effect that she thanked him from her heart (as",
            "corrected_text": "face, indeed, with some hurried words to the effect that she thanked him from her heart (as",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart; so",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:35.023080",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:12:39.334941",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 7,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"heart so\") and the same correction (\"heart, so\"), capturing the identical core change\u2014adding a comma after \"heart\". Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "his own",
            "corrected_text": "his, own",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "generous Mr.",
            "corrected_text": "generous",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "face, with some hurried words to the effect that she thanked him from her heart (as",
            "corrected_text": "face, indeed with some hurried words to the effect that she thanked him from her heart (as",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:32.665267",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:20:48.307732",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers) matters",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "strikingly",
            "corrected_text": "strikingly",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation, that papa had abandoned",
            "corrected_text": "hesitation, that papa had abandoned",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:38.419364",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:34:27.156694",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same textual change: inserting a comma after \"moment\" in the phrase \"moment with\", resulting in \"moment, with\". The original_text and corrected_text match the ground truth's core change exactly.\n\nTherefore, the predicted edit correctly captures the ground truth intention (ignoring line numbers as instructed)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers) matters",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "they are to be married.",
            "corrected_text": "They are to be married.",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:42.039351",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:13:33.793539",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers) matters",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "strikingly",
            "corrected_text": "strikingly",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:31:51.583157",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:21:48.005149",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "shoreand",
            "corrected_text": "shore, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "y",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "x",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:32:03.690945",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:35:24.267534",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shoreand",
            "corrected_text": "shore, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "y",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "x",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:32:05.906954",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:14:29.862283",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "y",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "y",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:32:33.034964",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:22:45.825196",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "ity",
            "corrected_text": "City",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "reluctant return",
            "corrected_text": "reluctant return to",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "busy existence,at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "it;to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "motionlesswhen",
            "corrected_text": "motionless when",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "stand-still;to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "view,by",
            "corrected_text": "view, by",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence;is",
            "corrected_text": "existence; is",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege lord",
            "corrected_text": "liege lord",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:32:50.029870",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:36:21.469053",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to add a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same essential punctuation change, adding a comma immediately after \"view\" within a slightly longer context (\"view by\" \u2192 \"view, by\"). This captures the core change accurately, with only additional surrounding text included."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "ity",
            "corrected_text": "Ity",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "return",
            "corrected_text": "to return",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence at",
            "corrected_text": "existence; at",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless; when",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege lord",
            "corrected_text": "liege lord",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:32:39.226647",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:15:27.326814",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "ity",
            "corrected_text": "City",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "reluctant return",
            "corrected_text": "reluctant to return",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "it; to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless; when",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege lord",
            "corrected_text": "liege lord",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:32:11.593642",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:23:38.423016",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorife",
            "corrected_text": "authorise",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:32:14.499191",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:37:16.155440",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorife",
            "corrected_text": "authorise",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest of snorts.",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:32:17.194626",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:16:23.974648",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that boiling-over",
            "corrected_text": "the boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorife",
            "corrected_text": "authorise",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:32:23.241537",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:24:29.943396",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me,",
            "corrected_text": "me, a",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "x",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:32:32.275183",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T11:38:08.155635",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "x",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt_4_1_mini",
        "date": "2026-02-22T15:32:37.982892",
        "annotator": "GPT-4.1 Mini",
        "annotation_date": "2025-04-14T12:17:14.113807",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "x",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me,",
            "corrected_text": "me a",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2025-04-14",
    "release_source": "https://openai.com/index/gpt-4-1/"
  },
  {
    "model_name": "GPT-4.1 Nano",
    "model_id": "gpt_4_1_nano",
    "date": "2026-02-22T16:21:14.272664",
    "shots": 2,
    "config": {
      "model_id": "gpt_4_1_nano",
      "display_name": "GPT-4.1 Nano",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-14",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-4.1 Nano",
    "annotation_date": "2025-04-14T11:27:05.347949",
    "file_results": [
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:32:38.686905",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:27:05.347949",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and rattling his money at it, apostrophised it with a short laugh",
            "corrected_text": "and rattling his money at it, apostrophised it with a short laugh.",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:32:41.376425",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:40:43.048341",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and rattling his money at it, apostrophised it with a short laugh",
            "corrected_text": "and rattling his money at it, apostrophised it with a short laugh.",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:32:45.759470",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:19:58.783197",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and rattling his money at it, apostrophised it with a short laugh",
            "corrected_text": "and rattling his money at it, apostrophised it with a short laugh.",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:32:54.836888",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:27:51.606915",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cap",
            "corrected_text": "cap",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "cap",
            "corrected_text": "a cushion",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "a cushion",
            "corrected_text": "and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "mark",
            "corrected_text": "mask",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:32:59.783121",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:41:44.160907",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "w",
            "corrected_text": "Why",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "w",
            "corrected_text": "why",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "cap",
            "corrected_text": "cap",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "cap",
            "corrected_text": "a cushion",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "mask",
            "corrected_text": "mask",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:00.382610",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:20:54.251713",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "w",
            "corrected_text": "Why",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "w",
            "corrected_text": "why",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "cap",
            "corrected_text": "cap",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "a cushion",
            "corrected_text": "a cushion",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "mark",
            "corrected_text": "mask",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T16:21:07.610525",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:28:49.986518",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "If he",
            "corrected_text": "If he",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "asked",
            "corrected_text": "asked",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "said",
            "corrected_text": "said",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "Ce",
            "corrected_text": "Ce",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T16:21:05.188274",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:42:32.690693",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "he",
            "corrected_text": "If he",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "asked",
            "corrected_text": "asked",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "\"True, sir, true to a certain extent. But what is a man to do?\"",
            "corrected_text": "sir, true to a certain extent. But what is a man to do?",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "say",
            "corrected_text": "said",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T16:21:05.385458",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:22:00.893603",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "If he",
            "corrected_text": "If he",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "asked",
            "corrected_text": "asked",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "say",
            "corrected_text": "said",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "Ce",
            "corrected_text": "Ce",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:21.209415",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:29:47.230814",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "telling him not to be uneasy on her, for she was quite well; but he had not seen her, for what, in their intercourse, was a long time.",
            "corrected_text": "telling him not to be uneasy on her behalf, for she was quite well; but he had not seen her, for what, in their intercourse, was a long time.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam!\u2014Tattyoram!",
            "corrected_text": "Clennam!\u2014Tattyoram!",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "What\u2019s the matter?",
            "corrected_text": "What\u2019s the matter?",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Never to come back,\u201d",
            "corrected_text": "\u201cNever to come back,\u201d",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "How did it happen? Pray sit down and tell me.",
            "corrected_text": "\u201cHow did it happen? Pray sit down and tell me.\u201d",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "costing",
            "corrected_text": "costing",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:25.672236",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:43:42.824742",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "telling him not to be uneasy on her behalf, for she was quite well; but he had not seen her, for what, in their intercourse, was a long time.",
            "corrected_text": "telling him not to be uneasy on her behalf, for she was quite well; but he had not seen her, for what, in their intercourse, was a long time.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam!\u2014Tattyoram!",
            "corrected_text": "Clennam!\u2014Tattyoram!",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "What\u2019s the matter?",
            "corrected_text": "What\u2019s the matter?",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Never to come back,\u201d said Mr. Meagles, shaking his head. \u201cYou don\u2019t know that girl\u2019s passionate and proud character. A team of horses couldn\u2019t draw her back now; the bolts and bars of the old Bastille couldn\u2019t keep her.\u201d",
            "corrected_text": "\u201cNever to come back,\u201d said Mr. Meagles, shaking his head. \u201cYou don\u2019t know that girl\u2019s passionate and proud character. A team of horses couldn\u2019t draw her back now; the bolts and bars of the old Bastille couldn\u2019t keep her.\u201d",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "costing",
            "corrected_text": "costing",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:25.722713",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:23:05.744461",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "costing absolu-",
            "corrected_text": "costing absolutely nothing.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and, telling him not to be uneasy on her behalf, for she was quite well; but he had not seen her, for what, in their intercourse, was a long time.",
            "corrected_text": "and, telling him not to be uneasy on her behalf, for she was quite well; but he had not seen her, for what, in their intercourse, was a long time.",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam!\u2014Tattycoram!",
            "corrected_text": "Clennam!\u2014Tattycoram!",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cWhat\u2019s the matter?\u201d",
            "corrected_text": "\u201cWhat\u2019s the matter?\u201d",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cLost!\u201d",
            "corrected_text": "\u201cLost!\u201d",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cWhy, bless my heart alive!\u201d cried Clennam in amazement. \u201cWhat do you mean?\u201d",
            "corrected_text": "\u201cWhy, bless my heart alive!\u201d cried Clennam, in amazement. \u201cWhat do you mean?\u201d",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cWouldn\u2019t count five-and-twenty, sir; couldn\u2019t be got to do it; stopped at eight, and took herself off.\u201d",
            "corrected_text": "\u201cWouldn\u2019t count five-and-twenty, sir; couldn\u2019t be got to do it; stopped at eight, and took herself off.\u201d",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cLeft your house?\u201d",
            "corrected_text": "\u201cLeft your house?\u201d",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cNever to come back,\u201d said Mr. Meagles, shaking his head. \u201cYou don\u2019t know that girl\u2019s passionate and proud character. A team of horses couldn\u2019t draw her back now; the bolts and bars of the old Bastille couldn\u2019t keep her.\u201d",
            "corrected_text": "\u201cNever to come back,\u201d said Mr. Meagles, shaking his head. \u201cYou don\u2019t know that girl\u2019s passionate and proud character. A team of horses couldn\u2019t draw her back now; the bolts and bars of the old Bastille couldn\u2019t keep her.\u201d",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:29.584450",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:30:33.341156",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "THIRTY",
            "corrected_text": "Thirty",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow.",
            "corrected_text": "Period here?",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:30.167999",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:44:31.783050",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Hirty",
            "corrected_text": "Thirty",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "strangers",
            "corrected_text": "stranger",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "univer-sal",
            "corrected_text": "universal",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow.",
            "corrected_text": "Period here?",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:29.863616",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:23:57.857369",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Hirty",
            "corrected_text": "Thirty",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "strangers",
            "corrected_text": "stranger",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "univer-sal",
            "corrected_text": "universal",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow.",
            "corrected_text": "Period here?",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:49.458138",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:31:27.461349",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "a sullied looking-glass in a gloomy place, reflected",
            "corrected_text": "like a sullied looking-glass in a gloomy place, reflected",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heavy streak, occasionally made a little ragged by a row of trees",
            "corrected_text": "heavy streak, occasionally made a little ragged by a row of poplar trees",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and his shoes and gaiters trodden out, his hair and beard untrimmed; the cloak he carried over his shoulder, and the clothes he wore, sodden with wet; limping along in pain and difficulty; he looked as if the clouds were hurrying from him, as if the wail of the wind and the shuddering of the grass",
            "corrected_text": "ed,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the low mysterious plashing of the water murmured at him, as if the fitful autumn night were disturbed by him.",
            "corrected_text": "the low mysterious plashing of the water murmured at him, as if the fitful autumn night were disturbed by him.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late, dull autumn night was closing in upon the river Saone.",
            "corrected_text": "A late, dull autumn night was closing in upon the river Saone.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "One man slowly moving on towards Chalons was the only visible",
            "corrected_text": "One man, slowly moving on towards Chalons, was the only visible",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:53.869475",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:45:23.973987",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "One man slowly moving on towards Chalons, was the only visible",
            "corrected_text": "One man, slowly moving on towards Chalons, was the only visible",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"man slowly\" to \"man, slowly\" (inserting a comma after \"man\"). The prediction makes the same core change within a longer span: \"One man slowly ...\" to \"One man, slowly ...\". Although the prediction includes additional surrounding context, it correctly captures the essential intended punctuation insertion."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "like a sullied looking-glass in a gloomy place, reflected",
            "corrected_text": "like a sullied looking-glass in a gloomy place, reflected",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ed",
            "corrected_text": "ed,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with wet; limping",
            "corrected_text": "with wet; limping",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "autumn night were disturbed by him.",
            "corrected_text": "autumn night were disturbed by him.",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "late, dull autumn night was closing in upon the river Saone.",
            "corrected_text": "A late, dull autumn night was closing in upon the river Saone.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heavy streak, occasionally made a little ragged by a row of poplar trees",
            "corrected_text": "heavy streak, occasionally made a little ragged by a row of poplar trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:53.334509",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:24:48.800003",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trees against the wrathful sunset.",
            "corrected_text": "trees, hyphen",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "he limped on again, toiling and muttering.",
            "corrected_text": "then",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "A late, dull autumn night was closing in upon the river Saone.",
            "corrected_text": "A late, dull autumn night was closing in upon the river Saone.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cloaked he carried",
            "corrected_text": "ed",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:50.064992",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:32:17.930245",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thank him from her heart (as",
            "corrected_text": "thank him from her heart (as",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she did, if it be the source of earnestness),",
            "corrected_text": "she did, if it be the source of earnestness),",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "and then a word of en- couragement from him, as they walked on slowly and almost silently under the darkening trees.",
            "corrected_text": "and now and then a word of encouragement from him, as they walked on slowly and almost silently under the darkening trees.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cAnd, now, Minnie Gowan,\u201d at length, said Clennam, smiling; \u201cwill you ask me nothing?\u201d",
            "corrected_text": "\u201cAnd, now, Minnie Gowan,\u201d at length, said Clennam, smiling; \u201cwill you ask me nothing?\u201d",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cOh! I have very much to ask of you.\u201d",
            "corrected_text": "\u201cOh! I have very much to ask of you.\u201d",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:50.065601",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:46:17.792014",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thank him from her heart (as",
            "corrected_text": "thank him from her heart (as",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she did, if it be the source of earnestness),",
            "corrected_text": "she did, if it be the source of earnestness),",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "And now, Minnie Gowan,",
            "corrected_text": "and, now, Minnie Gowan,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "smiling; \"will",
            "corrected_text": "smiling; \"will",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"Oh! I have very much to ask of you.",
            "corrected_text": "\"Oh! I have very much to ask of you.\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:33:50.898513",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:25:50.112833",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thank him from her heart (as",
            "corrected_text": "thank him from her heart (as",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she did, if it be the source of earnestness),",
            "corrected_text": "she did, if it be the source of earnestness),",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "and, if it be the source of earnestness),",
            "corrected_text": "and, now and then a word of encouragement from him,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling, \"will you ask me nothing?\"",
            "corrected_text": "smiling; \"will you ask me nothing?\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so; I am not disappointed.\"",
            "corrected_text": "so; I am not disappointed.\"",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:07.363245",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:33:22.319906",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and thanked her",
            "corrected_text": "and thanked her.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with a look in which regard for him and trustfulness in him were strikingly blended with a kind of timid sorrow for him, she was so beautiful that it was well for his peace\u2014or ill for his peace, he did not quite know which \u2014 that he had made that vigorous resolution he had so often thought about.",
            "corrected_text": "with a look in which regard for him and trustfulness in him were strikingly blended with a kind of timid sorrow for him, she was so beautiful that it was well for his peace\u2014or ill for his peace, he did not quite know which \u2014 that he had made that vigorous resolution he had so often thought about.",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "At this, he thought directly, \"they are to be married.\"",
            "corrected_text": "At this, he thought directly, \"they are to be married.\"",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:07.001243",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:47:17.953275",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and thanked her",
            "corrected_text": "and thanked her.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "with a look in which regard for him and trustfulness in him were strikingly blended with a kind of timid sorrow for him, she was so beautiful that it was well for his peace\u2014or ill for his peace, he did not quite know which",
            "corrected_text": "with a look in which regard for him and trustfulness in him were strikingly blended with a kind of timid sorrow for him, she was so beautiful that it was well for his peace\u2014or ill for his peace, he did not quite know which\u2014that he had made that vigorous resolution he had so often thought about.",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "At this, he thought directly, \"they are to be married.\"",
            "corrected_text": "At this, he thought directly, \"they are to be married.\"",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:07.003642",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:26:44.463524",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and thanked her",
            "corrected_text": "and thanked her.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "with a look in which regard for him and trustfulness in him were strikingly blended with a kind of timid sorrow for him, she was so beautiful that it was well for his peace\u2014or ill for his peace, he did not quite know which",
            "corrected_text": "with a look in which regard for him and trustfulness in him were strikingly blended with a kind of timid sorrow for him, she was so beautiful that it was well for his peace\u2014or ill for his peace, he did not quite know which\u2014that he had made that vigorous resolution he had so often thought about.",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "At this, he thought directly, \"they are to be married.\"",
            "corrected_text": "At this, he thought directly, \"they are to be married.\"",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:17.724306",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:34:16.886643",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in our fancy",
            "corrected_text": "in our fancy,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:07.362010",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:48:06.456076",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in our fancy",
            "corrected_text": "in our fancy,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gently launched them on the flowing river.",
            "corrected_text": "gently launched them on the flowing river.",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that once were",
            "corrected_text": "that once were",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:18.412166",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:27:43.652327",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in our fancy",
            "corrected_text": "in our fancy,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:28.751124",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:35:11.664373",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "lucrant return of the same sequences of machinery, like a dragging piece of clockwork.",
            "corrected_text": "lucrant return of the same sequences of machinery, like a dragging piece of clockwork.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "images of people as they too used to be, with little or no allowance made for the lapse of time since they were seen; of these, there must have been many in the long routine of gloomy days. To stop the clock of busy existence, at the hour when we were personally sequestered from it; to suppose mankind stricken motionless when we were brought to a stand-still; to be unable to measure the changes beyond our view, by any larger standard than the shrunken one of our own uniform and contracted existence; is the infirmity of many invalids, and the mental unhealthiness of almost all recluses.",
            "corrected_text": "images of people as they too used to be, with little or no allowance made for the lapse of time since they were seen; of these, there must have been many in the long routine of gloomy days. To stop the clock of busy existence, at the hour when we were personally sequestered from it; to suppose mankind stricken motionless when we were brought to a stand-still; to be unable to measure the changes beyond our view, by any larger standard than the shrunken one of our own uniform and contracted existence; is the infirmity of many invalids, and the mental unhealthiness of almost all recluses.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "lord",
            "corrected_text": "lord",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to each recurring with its accompanying monotony, always the same re-",
            "corrected_text": "to each recurring with its accompanying monotony, always the same re-",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:30.439155",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:49:02.309128",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "busy",
            "corrected_text": "at",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "a stand-still",
            "corrected_text": "; to",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "unhealthiness",
            "corrected_text": "; is",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liege",
            "corrected_text": "lord",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "city",
            "corrected_text": "city",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each",
            "corrected_text": "to",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:34.827731",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:28:49.010351",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the same sequences of machinery, like a dragging piece of clockwork.",
            "corrected_text": "of the same sequences of machinery, like a dragging piece of clockwork.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "lord",
            "corrected_text": "lord",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Pictures of demolished streets and altered houses, as they formerly were when the occupant of the chair was familiar with them; images of people as they too used to be, with little or no allowance made for the lapse of time since they were seen; of these, there must have been many in the long routine of gloomy days. To stop the clock of busy existence, at the hour when we were personally sequestered from it; to suppose mankind stricken motionless when we were brought to a stand-still; to be unable to measure the changes beyond our view, by any larger standard than the shrunken one of our own uniform and contracted existence; is the infirmity of many invalids, and the mental unhealthiness of almost all recluses.",
            "corrected_text": "Pictures of demolished streets and altered houses, as they formerly were when the occupant of the chair was familiar with them; images of people as they too used to be, with little or no allowance made for the lapse of time since they were seen; of these, there must have been many in the long routine of gloomy days. To stop the clock of busy existence, at the hour when we were personally sequestered from it; to suppose mankind stricken motionless when we were brought to a stand-still; to be unable to measure the changes beyond our view, by any larger standard than the shrunken one of our own uniform and contracted existence; is the infirmity of many invalids, and the mental unhealthiness of almost all recluses.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T16:21:14.272664",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:36:05.994062",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "",
            "corrected_text": "him.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "",
            "corrected_text": "authorise",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "",
            "corrected_text": "boiling-over",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T16:21:11.706105",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:50:04.320409",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "old Christian,",
            "corrected_text": "boiling-over",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "recompense",
            "corrected_text": "recompense",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts.",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T16:21:13.249682",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:29:45.778495",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "snorts.",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:33.658777",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:36:51.332489",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room,",
            "corrected_text": "bedroom,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that is past and what is past can never be recalled except in his own",
            "corrected_text": "that is past and what is past can never be recalled except in his own",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:33.670897",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T11:50:57.761452",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room,",
            "corrected_text": "bedroom,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that is past and what is past can never be recalled except in his own case as poor Mr. F. said when he was in spirits Cucumber and therefore never ate it.",
            "corrected_text": "that is past and what is past can never be recalled except in his own case as poor Mr. F. said when he was in spirits Cucumber and therefore never ate it.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt_4_1_nano",
        "date": "2026-02-22T15:34:45.018700",
        "annotator": "GPT-4.1 Nano",
        "annotation_date": "2025-04-14T12:30:39.969311",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room,",
            "corrected_text": "bedroom,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that is past and what is past can never be recalled except in his own case as poor Mr. F. said when he was in spirits Cucumber and therefore never ate it.",
            "corrected_text": "that is past and what is past can never be recalled except in his own case as poor Mr. F. said when he was in spirits Cucumber and therefore never ate it.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2025-04-14",
    "release_source": "https://openai.com/index/gpt-4-1/"
  },
  {
    "model_name": "GPT-4.5 Preview",
    "model_id": "gpt-4.5-preview",
    "date": "2026-02-22T15:24:01.384481",
    "shots": 2,
    "config": {
      "model_id": "gpt-4.5-preview",
      "display_name": "GPT-4.5 Preview",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-4.5 Preview",
    "annotation_date": "2025-04-07T20:04:52.602883",
    "file_results": [
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:21:39.236789",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:04:52.602883",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and\". The original_text and corrected_text match the ground truth\u2019s intended punctuation change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "day sir",
            "corrected_text": "day, sir",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:21:43.773877",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:27:36.810059",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "day sir",
            "corrected_text": "day, sir",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:21:45.954087",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:24:43.426613",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" so that \"pockets and\" becomes \"pockets, and\". The original and corrected text strings match the ground truth intention. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "howling over yonder to-day",
            "corrected_text": "howling, over yonder to-day",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:21:59.575153",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:05:52.284055",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "why did he dine",
            "corrected_text": "why did he dine?",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:00.079260",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:28:24.174562",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "why did he dine",
            "corrected_text": "why did he dine?",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:08.489603",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:25:58.998990",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word of the phrase (\"why did he dine\" \u2192 \"Why did he dine\"), i.e., changing \"why\" to \"Why\". The prediction captures this core change directly (\"why\" \u2192 \"Why\"). Although it includes less surrounding context, it still represents the same essential capitalization correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones!\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:12.076504",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:06:54.378430",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "said",
            "corrected_text": "",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:11.715695",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:29:11.606975",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "said",
            "corrected_text": "",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:12.315879",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:27:31.795595",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "said",
            "corrected_text": "",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:37.417362",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:08:19.268198",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tion",
            "corrected_text": "tion;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "n",
            "corrected_text": "Clennam",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion,",
            "corrected_text": "",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "earnestly",
            "corrected_text": "earnestly,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "comma?",
            "corrected_text": ",",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:39.052901",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:30:16.721324",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "did",
            "corrected_text": ", did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "for what",
            "corrected_text": ", for what,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion,",
            "corrected_text": "",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "telling",
            "corrected_text": ", telling",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "said (comma?)",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:41.954618",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:29:58.656455",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "for what",
            "corrected_text": ", for what,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "amazement",
            "corrected_text": ", in amazement",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion,",
            "corrected_text": "",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "telling",
            "corrected_text": ", telling",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "said (comma?)",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Clennam,",
            "corrected_text": "Clennam",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:26.935686",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:09:14.921923",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the same core change with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:27.023038",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:31:14.318667",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core punctuation correction is identical. Line numbers are ignored as instructed, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:41.690394",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:31:06.429505",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:50.976855",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:10:25.831971",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"man slowly\") and the same corrected_text (\"man, slowly\"), capturing the identical core change: insertion of a comma after \"man\". Ignoring line numbers as instructed, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "like a sullied",
            "corrected_text": ", like a sullied",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late, dull autumn",
            "corrected_text": "A late, dull autumn",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Saone,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:50.110819",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:32:18.551991",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late dull autumn",
            "corrected_text": "late, dull autumn",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Saone,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:59.825205",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:32:59.539359",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"man slowly\" to \"man, slowly,\" correctly capturing the intended insertion of a comma after \"man.\" Line numbers are to be ignored, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"Chalons\" in the phrase \"Chalons was\" to become \"Chalons, was\". The original and corrected text strings match the ground truth intention. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"sodden\" to \"soddened\". The predicted edit changes \"sodden with\" to \"soddened with\", which includes extra surrounding context but preserves the same core substitution (sodden \u2192 soddened). Therefore, the essential intended correction is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "stream, like",
            "corrected_text": "stream,^ like",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "dull,",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone.",
            "corrected_text": "Saone.^ The",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone it",
            "corrected_text": "Saone^ it",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:45.466586",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:11:26.271037",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "up into his face, with some hurried words",
            "corrected_text": "up into his face, indeed, with some hurried words",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "thanked him from her heart",
            "corrected_text": "thanked him from her heart,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped",
            "corrected_text": "I hoped so",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "so",
            "corrected_text": "",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:22:41.232663",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:33:21.832504",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "up into his face, with some",
            "corrected_text": "up into his face, indeed, with some",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "thanked him from her heart",
            "corrected_text": "thanked him with her heart",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "so;",
            "corrected_text": ";",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "That's well!",
            "corrected_text": "That's well! I hoped so;",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:06.763371",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:34:35.408086",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"length said\") and the same corrected text (\"length, said\"), capturing the core change of inserting a comma after \"length\". Since the essential punctuation change matches, the prediction aligns with the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "totally up into his face, with some",
            "corrected_text": "totally up into his face, indeed, with some",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "thanked him from her heart",
            "corrected_text": "thanked him with her heart",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "first",
            "corrected_text": "",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "That's well! I hoped so;",
            "corrected_text": "That's well! I hoped so;",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:09.000173",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:12:30.866074",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"hers\" in the phrase \"hers and\" to make it \"hers, and\". The original and corrected text strings match the ground truth\u2019s intention exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both apply the same core change: inserting a comma after \"hers\" to turn \"hers matters\" into \"hers, matters\". The original and corrected text content match the ground truth intention. Line numbers are ignored per instructions."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change: insertion of a comma after \"moment.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same correction (\"beautiful, that\"), inserting a comma after \"beautiful\". The core change is identical."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation, that papa had abandoned",
            "corrected_text": "hesitation, that papa had abandoned,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "he thought directly,",
            "corrected_text": "",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:10.427853",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:34:39.015913",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 16,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both the ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both edits change the exact same text from \"hers and\" to \"hers, and,\" inserting a comma after \"hers.\" This captures the core intended correction with no mismatch in the essential change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" The original and corrected text match the ground truth\u2019s core change with no discrepancies. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"moment with\" to \"moment, with\", inserting a comma after \"moment\". This captures the core intended punctuation correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"beautiful that\" to \"beautiful, that,\" inserting a comma after \"beautiful.\" This captures the core intended punctuation correction with identical original and corrected text content.\n\nLine numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation, that papa had abandoned",
            "corrected_text": "hesitation, that papa had abandoned,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "he thought directly,",
            "corrected_text": "",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:10.908984",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:36:18.779202",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Line numbers are ignored as instructed, so this does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both ground truth and prediction change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers\". This captures the core intended correction with identical original and corrected text.\n\nTherefore, the predicted edit correctly matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"beautiful\" in the phrase \"beautiful that,\" resulting in \"beautiful, that.\" The original and corrected texts match the ground truth intention with no discrepancies."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hesitation, that papa had abandoned",
            "corrected_text": "(Cap) hesitation, that papa had abandoned",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "he thought directly,",
            "corrected_text": "",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:12.074406",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:13:38.779387",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"shore and\") and the same corrected_text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Ignoring line numbers as instructed, the prediction matches the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you?\"",
            "corrected_text": "you,\"",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "once",
            "corrected_text": "than",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:18.672166",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:35:41.900561",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Ignoring line numbers, the prediction matches the ground truth\u2019s intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "once",
            "corrected_text": "than",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:26.258170",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:38:16.454087",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the core intended change\u2014adding a comma after \"shore\". Line numbers are ignored, so this does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\", capturing the same core change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moonlight",
            "corrected_text": "moonlight,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flowers pale",
            "corrected_text": "flowers, pale",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moonlight",
            "corrected_text": "moonlight,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:47.672276",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:15:04.995713",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to the end of \"Chapter XXIX\" to make it \"Chapter XXIX.\". The original and corrected texts are identical between ground truth and prediction, so the intended punctuation correction is captured precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\nText Content Accuracy: Both specify the same core transformation: \"city\" \u2192 \"City\". This captures the essential intended correction. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "lord",
            "corrected_text": "",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "of",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still",
            "corrected_text": "still;",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:40.387430",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:37:22.607740",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction specify the same core change: \"city\" \u2192 \"City\". This captures the essential intended correction with no discrepancy in the text being changed.\n\nLine numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "xxix",
            "corrected_text": "xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still",
            "corrected_text": "still;",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "l",
            "corrected_text": "",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "of",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "existence",
            "corrected_text": "existence at",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:37.987259",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:40:45.926778",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return of",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "lord",
            "corrected_text": "liege",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:50.712522",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:16:13.515060",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" so that \"dryest snorts\" becomes \"driest of snorts\" (within the larger phrase \"of the \u2026 .\"). The predicted edit makes the same essential change: \"dryest snorts\" \u2192 \"driest of snorts\". Although the prediction omits surrounding context (\"of the\" and the final period), it captures the core intended correction (spelling change + insertion of \"of\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "been a little premature",
            "corrected_text": "been a little premature.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "thropic",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "a boiling-",
            "corrected_text": "",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:50.787206",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:38:27.742295",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both replace the same original text \"authorize\" with the same corrected text \"authorise\". The core intended change (American to British spelling) is captured exactly. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "thropic",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "a",
            "corrected_text": "",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:54.278144",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:42:41.441061",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" so the phrase becomes \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit also changes \"dryest snorts\" to \"driest of snorts\", capturing the same core correction (spelling correction + insertion of \"of\"). Although the prediction omits surrounding context (\"of the\" and the final period), it correctly represents the essential intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 34,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n\nText Content Accuracy: Both edits replace the same original text (\"authorize\") with the same corrected text (\"authorise\"). This captures the identical core change (American to British spelling). Ignoring line numbers as instructed, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "thropic old buck.",
            "corrected_text": "thropic old buck",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "a",
            "corrected_text": "",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:55.273845",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T20:17:19.562803",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 3,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma immediately after the word \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The predicted edit \"For\" \u2192 \"For,\" captures the same core punctuation change (adding a comma after \"For\"), even though it provides less surrounding context. This still matches the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed-",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me",
            "corrected_text": "me,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:23:57.751607",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-07T22:39:27.739098",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 3,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The predicted edit \"For\" \u2192 \"For,\" captures the same core punctuation change (adding a comma immediately after \"For\"). Although it omits the surrounding context (\"Mr. Pancks\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed-",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "me,",
            "corrected_text": "",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-4.5-preview",
        "date": "2026-02-22T15:24:01.384481",
        "annotator": "GPT-4.5 Preview",
        "annotation_date": "2025-04-08T11:44:06.388430",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 3,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The predicted edit captures the same essential change by converting \"For\" \u2192 \"For,\", even though it provides less surrounding context. This still matches the core punctuation insertion intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed-",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2025-02-27",
    "release_source": "https://openai.com/index/introducing-gpt-4-5/"
  },
  {
    "model_name": "GPT-4.5 Preview (OR)",
    "model_id": "or_gpt_4_5_preview",
    "date": "2026-02-22T15:50:06.897959",
    "shots": 2,
    "config": {
      "model_id": "or_gpt_4_5_preview",
      "display_name": "GPT-4.5 Preview (OR)",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-4.5 Preview (OR)",
    "annotation_date": "2025-04-07T19:26:38.049783",
    "file_results": [
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:47:59.153582",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:26:38.049783",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "day sir",
            "corrected_text": "day, sir",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:47:59.154041",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T00:45:22.335965",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "day sir",
            "corrected_text": "day, sir",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:08.920867",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:29:56.521621",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original phrase \"howling over\" and the same corrected form \"howling, over\", inserting a comma after \"howling\". This captures the core intended punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both edits change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder\". The original and corrected text strings are identical between ground truth and prediction, capturing the same core punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets\". The core punctuation change is identical, with no discrepancies in the original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:13.397214",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:27:25.927128",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think why",
            "corrected_text": "think, why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones!\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:07.265964",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T00:46:10.638574",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "why did he dine",
            "corrected_text": "why did he dine?",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:08.494512",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:30:54.584505",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 25,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the first word of the phrase, changing \"why did he dine\" to \"Why did he dine\" (i.e., \"why\" \u2192 \"Why\"). The prediction captures this core change by changing \"why\" to \"Why\". Although it includes less surrounding context than the ground truth, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones!\"",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:16.778407",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:28:15.883995",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "asked",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "said",
            "corrected_text": "",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:16.053373",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:31:53.050149",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "asked",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "said",
            "corrected_text": "",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:42.502379",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:29:03.485886",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and predicted edit have the type set to \"punctuation\", so the edit type matches exactly.\n\n2. Text Content Accuracy: Both edits identify the same original text (\"high road\") and the same corrected text (\"high-road\"), capturing the identical core change of inserting a hyphen between the words. Line numbers are ignored as instructed, so the difference in line_number does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tion",
            "corrected_text": "tion;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "for what",
            "corrected_text": "for what,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion,",
            "corrected_text": "",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "telling",
            "corrected_text": "telling ",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "(comma?)",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:38.867545",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T00:47:49.813535",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "did",
            "corrected_text": "did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "for what",
            "corrected_text": "for what,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion,",
            "corrected_text": "",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "telling",
            "corrected_text": "telling",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "said (comma?)",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "n",
            "corrected_text": "",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:43.178216",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:33:01.364913",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion,",
            "corrected_text": "",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "earnestly",
            "corrected_text": "earnestly,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:31.173290",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:29:46.817501",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:33.591022",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T00:48:40.664261",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth. Text Content Accuracy: Both ground truth and prediction change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the core intended punctuation change with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:40.910844",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:33:48.203444",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:55.467085",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:30:43.317888",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late dull autumn",
            "corrected_text": "late, dull autumn",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Saone,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:56.138837",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T00:49:28.638571",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"man\" in the phrase \"man slowly\" to become \"man, slowly\". The original_text and corrected_text are identical between ground truth and prediction, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change \"Chalons was\" to \"Chalons, was\", inserting a comma after \"Chalons\". This captures the core intended punctuation change exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "late dull",
            "corrected_text": "late, dull",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone.",
            "corrected_text": "Saone.^ The",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Saone^ it",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:56.794172",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:34:54.998014",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"sodden\" to \"soddened\". The prediction changes \"sodden with\" to \"soddened with\", which includes additional surrounding context (\"with\") but preserves the same core substitution (\"sodden\" \u2192 \"soddened\"). This accurately captures the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "like a sullied looking-glass",
            "corrected_text": "like a sullied looking-glass,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "dull,",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone",
            "corrected_text": "river Saone,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:48:54.470713",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:31:44.949312",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "up into his face, with some",
            "corrected_text": "up into his face, indeed, with some",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "thanked him from her heart",
            "corrected_text": "thanked him with her heart",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "so;",
            "corrected_text": ";",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"That's well!",
            "corrected_text": "\"That's well! I hoped so;",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:49:06.864152",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:36:15.666959",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "own",
            "corrected_text": "his own",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "up into his face, with some",
            "corrected_text": "up into his face, indeed, with some",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "thanked him from her heart",
            "corrected_text": "thanked him from her heart,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"Oh! I have very much",
            "corrected_text": "\"Oh! I have very much",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hoped so;",
            "corrected_text": "I hoped so",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart",
            "corrected_text": "heart,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\"That's well! I hoped so;",
            "corrected_text": "\"That's well! I hoped so;",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:49:14.964113",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:32:38.141874",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"hers\" in the phrase \"hers and\", yielding \"hers, and\". Ignoring line numbers as instructed, the predicted edit captures the same intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change\u2014adding a comma after \"hers\". Line number differences are ignored as instructed, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with,\" correctly capturing the insertion of a comma after \"moment.\" The core punctuation correction is identical."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"beautiful that\" to \"beautiful, that\", inserting a comma after \"beautiful\". This captures the core intended punctuation change with identical original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation, that papa had abandoned",
            "corrected_text": "hesitation, that papa had abandoned,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "he thought directly,",
            "corrected_text": "",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:49:20.693574",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T00:51:09.608029",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"hers\" (\"hers and\" \u2192 \"hers, and\"). The original and corrected text strings match the ground truth\u2019s intended correction. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" This captures the core intended correction with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original span \"moment with\" and the same correction \"moment, with\", inserting a comma after \"moment\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: inserting a comma after \"beautiful\" in the phrase \"beautiful that\" to make it \"beautiful, that\". The original and corrected text strings are identical between ground truth and prediction, capturing the core intended change."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation, that papa had abandoned",
            "corrected_text": "hesitation, that papa had abandoned,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "he thought directly,",
            "corrected_text": "",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:49:19.923880",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:37:14.858094",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"hers and\" to \"hers, and\", inserting a comma after \"hers\". The core punctuation correction is identical in original and corrected text. Line number differences are to be ignored, so this does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction apply the same core change\u2014adding a comma after \"hers\" in the phrase \"hers matters,\" changing it from \"hers matters\" to \"hers, matters.\" The original_text and corrected_text match exactly in both. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change the exact same string from \"moment with\" to \"moment, with,\" inserting a comma after \"moment.\" This captures the core intended punctuation change with identical original and corrected text. Line number differences are irrelevant per instructions."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same corrected text (\"beautiful, that\"), capturing the core intended change of inserting a comma after \"beautiful\". Line numbers are ignored as instructed, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 31,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change the same word from \"they\" to \"They,\" capturing the identical core capitalization correction. Line number differences are to be ignored, so there is no conflict.\n\nTherefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation, that papa had abandoned",
            "corrected_text": "hesitation, that papa had abandoned,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:49:24.688274",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:33:29.659441",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change of inserting a comma after \"shore\". Line number differences are to be ignored, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flowers pale",
            "corrected_text": "flowers, pale",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "within doors",
            "corrected_text": "",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:49:28.881942",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T00:51:59.451225",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both the ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both edits apply the same core punctuation change, inserting a comma after \"shore\" in the phrase \"shore and\" to make it \"shore, and.\" The original_text and corrected_text match the ground truth's intended change.\n\nLine numbers are ignored as instructed, so the difference in line_number does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "once",
            "corrected_text": "than",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:49:35.010360",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:38:24.788850",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"shore\" in the phrase \"shore and\" \u2192 \"shore, and\". The predicted edit \"shore\" \u2192 \"shore,\" captures the same core punctuation change (adding a comma immediately after \"shore\"). Although the prediction provides less surrounding context (it omits \"and\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you?",
            "corrected_text": "you,\"",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "fancy",
            "corrected_text": "fancy,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "the",
            "corrected_text": "",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:49:55.553941",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:34:30.895293",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\nText Content Accuracy: The ground truth change is \"city\" \u2192 \"City.\" The predicted edit makes the same core change with identical original and corrected text. Ignoring line numbers as instructed, the prediction captures the intended correction precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "xxix",
            "corrected_text": "xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "lord",
            "corrected_text": "",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "of",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:50:00.306613",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T00:53:13.595027",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\" The original_text and corrected_text match the ground truth precisely, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\nText Content Accuracy: Both identify the same core change, converting \"city\" to \"City\". There is no discrepancy in the original or corrected text content. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 17,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change by inserting a comma immediately after \"existence\" within a slightly larger context (\"existence at\" \u2192 \"existence, at\"). This captures the essential intended punctuation correction.\n\nTherefore, the predicted edit matches both the type and the core textual change of the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change\u2014adding a comma immediately after \"motionless\"\u2014but includes additional surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This preserves the essential correction intended by the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 19,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the punctuation following \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction also results in \"stand-still;\" as the corrected form, capturing the core intended outcome (semicolon after \"stand-still\"). Although the predicted original_text omits the comma present in the ground truth original_text, the essential correction (the punctuation after \"stand-still\" should be a semicolon) is correctly represented."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 19,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change by inserting a comma immediately after \"view\" within a larger phrase (\"view by\" \u2192 \"view, by\"). Including the additional context word \"by\" does not alter the essential intended edit, which is the comma after \"view\".\n\nTherefore, both criteria are satisfied."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming.",
            "corrected_text": "Dreaming,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "lord",
            "corrected_text": "",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "of",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:49:36.806380",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:39:50.070890",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return of",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "lord",
            "corrected_text": "liege",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:49:55.471547",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:35:27.540664",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit also replaces \"dryest snorts\" with \"driest of snorts,\" capturing the same core correction (spelling change + insertion of \"of\"). Although the prediction omits surrounding context (\"of the\" and the final period), it still accurately represents the essential intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "been a little",
            "corrected_text": "been a little",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "thropic",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "a boiling-",
            "corrected_text": "",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:49:58.449407",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T00:54:14.946073",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts an additional \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit captures the same core transformation: \"dryest snorts\" \u2192 \"driest of snorts.\" Although it omits surrounding context (\"of the\" and the final period), that is acceptable under the criteria since the essential change is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "old boy",
            "corrected_text": "old boy;",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "your hands. I authorise",
            "corrected_text": "your hands. I authorize",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "thropic",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "a",
            "corrected_text": "",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:50:01.334978",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:40:55.778181",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" to make the phrase \"the driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit likewise changes \"dryest\" \u2192 \"driest\" and results in \"driest of snorts.\" Although the prediction omits surrounding context (\"of the\" and the final period), it captures the core intended correction (spelling correction plus insertion of \"of\" before \"snorts\"). Therefore, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 36,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2. Text Content Accuracy: Both edits replace \"authorize\" with \"authorise\", capturing the same core spelling change (American to British spelling). Line numbers are to be ignored, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "thropic old buck.",
            "corrected_text": "thropic old buck",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "boiling-",
            "corrected_text": "",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "a",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:50:00.967324",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-07T19:36:25.382440",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 3,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth intends to insert a comma after the word \"For\" in the phrase \"For Mr. Pancks\" (i.e., \"For\" \u2192 \"For,\"). The predicted edit also changes \"For\" to \"For,\", capturing the same core punctuation insertion, even though it provides less surrounding context. This still matches the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed-",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:50:02.544547",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T00:55:03.805056",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 3,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma after the word \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The prediction captures the same core punctuation change by editing \"For\" \u2192 \"For,\". Although it includes less surrounding context, it correctly represents the essential intended correction: adding a comma immediately after \"For\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed-",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gpt_4_5_preview",
        "date": "2026-02-22T15:50:06.897959",
        "annotator": "GPT-4.5 Preview (OR)",
        "annotation_date": "2025-04-08T07:41:53.554628",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fo",
            "corrected_text": "For",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2025-02-27",
    "release_source": "https://openai.com/index/introducing-gpt-4-5/",
    "release_notes": "OpenRouter route to the same GPT-4.5 Preview release."
  },
  {
    "model_name": "GPT-4o",
    "model_id": "gpt-4o",
    "date": "2026-02-22T15:26:14.354847",
    "shots": 2,
    "config": {
      "model_id": "gpt-4o",
      "display_name": "GPT-4o",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-4o",
    "annotation_date": "2025-04-07T19:27:02.706040",
    "file_results": [
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:05.679071",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:27:02.706040",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and rattling",
            "corrected_text": "pockets, and rattling",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and\". The predicted edit also inserts a comma after \"pockets\" (\"pockets and rattling\" \u2192 \"pockets, and rattling\"). The prediction includes additional following context (\"rattling\"), but the core change\u2014adding the comma after \"pockets\" before \"and\"\u2014is the same. Therefore it captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day, sir",
            "corrected_text": "yonder to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:06.919962",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:19:19.319455",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the core change of inserting a comma after \"yonder\". There are no discrepancies in the intended punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles ;",
            "corrected_text": "Marseilles;",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "to-day, sir",
            "corrected_text": "to-day, sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:16.377303",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:29:49.885304",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a period at the end of the phrase \"Fellow Travellers\" (i.e., after the word \"Travellers\"). The prediction captures the same core change by editing \"Travellers\" \u2192 \"Travellers.\". Although it includes less surrounding context (omitting \"Fellow\"), it still applies the period at the correct endpoint of the intended text. Therefore, the essential punctuation correction is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same core punctuation change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to become \"pockets, and.\" The original_text and corrected_text match the ground truth\u2019s intended edit. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day, sir",
            "corrected_text": "yonder to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:05.910420",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:27:52.331370",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why did",
            "corrected_text": "Why did",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:15.837448",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:20:52.958622",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 27,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial \"why\" in the phrase \"why did he dine\" to \"Why did he dine\". The prediction captures the same core change by converting \"why\" to \"Why\". Although it includes less surrounding context, it correctly represents the essential capitalization edit intended in the ground truth."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:19.433672",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:30:46.378488",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dine to-day,",
            "corrected_text": "dine today,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:24.105911",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:28:39.554606",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 41,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit, so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The prediction captures the core intended change by replacing \"said\" with \"asked.\" Although it omits the surrounding context word \"Clennam,\" the essential correction (said \u2192 asked) is correctly represented, and additional context is not required for correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "If",
            "corrected_text": "if",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:34.310308",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:21:46.659451",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 38,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he\". The predicted edit capitalizes \"if\" \u2192 \"If\". Although the prediction includes less surrounding context (it does not include the following word \"he\"), it captures the core intended change: capitalizing the word \"if\" at the start of the phrase. Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 41,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core intended substitution by replacing \"said\" with \"asked\". Although it omits the following context word (\"Clennam\"), this is acceptable because the essential change (said \u2192 asked) is correctly represented."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:38.437447",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:31:51.453104",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 38,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he\", which is specifically capitalizing the initial \"i\" in \"if\" at the start of the phrase. The prediction changes \"if\" to \"If\", capturing the same core capitalization change, just with less surrounding context (it omits \"he\"). Since the essential intended change\u2014capitalizing \"if\"\u2014is correctly represented, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 40,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\", whose core intended change is replacing the word \"said\" with \"asked\" while leaving the surrounding context (\"Clennam\") unchanged. The prediction replaces \"said\" with \"asked\" without including the trailing context, but it still captures the essential substitution that the ground truth indicates. Including less context is acceptable as long as the core change is correctly represented."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:42.366133",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:29:39.014432",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"about and\" \u2192 \"about, and\", inserting a comma after \"about\". The core change is identical with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"said\" to \"said,\" by adding a comma. This captures the same core correction. Line numbers are to be ignored, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 32,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text \"Clennam in\" and the same corrected text \"Clennam, in\", capturing the identical core change (inserting a comma after \"Clennam\").\n\nLine numbers are ignored, so the differing line number does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "telling him",
            "corrected_text": "telling, him",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:38.612886",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:22:41.808497",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit types are \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same correction (\"about, and\"), capturing the identical core change\u2014adding a comma after \"about\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "telling him",
            "corrected_text": "telling, him",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:50.107062",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:32:49.799093",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma so that \"about and\" becomes \"about, and\". This captures the core intended punctuation correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"said\" to \"said,\" by adding a comma. This captures the same core correction with identical original and corrected text. Line numbers are to be ignored, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 32,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\" by inserting a comma after \"Clennam\". This captures the same core punctuation correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "telling him",
            "corrected_text": "telling, him",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:48.616074",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:30:25.011086",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:44.568443",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:23:28.413378",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:54.768997",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:33:40.159305",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:01.704931",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:31:20.529798",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "A late,",
            "corrected_text": "A late, dull",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Saone it",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone.",
            "corrected_text": "Saone. The",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:12.236858",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:24:32.829058",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are \"replacement\" edits, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes \"sodden\" to \"soddened\". The prediction changes \"sodden with\" to \"soddened with\", which includes extra surrounding context (\"with\") but preserves the same core correction: \"sodden\" \u2192 \"soddened\". Therefore, it correctly captures the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "A late,",
            "corrected_text": "A late, dull",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chalons lay",
            "corrected_text": "Chalons lay a",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone it",
            "corrected_text": "Saone it was",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone.",
            "corrected_text": "Saone. The",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chalons was",
            "corrected_text": "Chalons was the",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:10.432163",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:34:45.009038",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma immediately after the word \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The prediction also inserts a comma after \"Chalons\" (\"Chalons\" \u2192 \"Chalons,\"). Although the prediction includes less surrounding context (it omits the following word \"was\"), it captures the core intended punctuation change at the correct location."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone.",
            "corrected_text": "Saone,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Saone,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:24:55.331938",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:32:14.834997",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart,",
            "corrected_text": "heart, indeed,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "That's well! I hope so;",
            "corrected_text": "That's well! I hoped so;",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:09.028316",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:25:34.509336",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart,",
            "corrected_text": "heart, indeed,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "well! I",
            "corrected_text": "well! I hoped so;",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:13.197771",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:35:52.117037",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The original and corrected text strings match the ground truth\u2019s intended punctuation correction. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "in deed",
            "corrected_text": "indeed",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hoped so",
            "corrected_text": "hoped so;",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:23.475797",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:33:15.937791",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" This captures the core intended punctuation correction with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Ignoring line numbers as instructed, the prediction matches the ground truth intention precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 23,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"beautiful that\" to \"beautiful, that,\" inserting a comma after \"beautiful.\" This captures the core intended punctuation correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him and trustfulness",
            "corrected_text": "him, and trustfulness",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation that",
            "corrected_text": "hesitation, that",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly they",
            "corrected_text": "directly, they",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:24.554104",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:26:30.854274",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change the phrase from \"hers matters\" to \"hers, matters\", inserting a comma after \"hers\". This captures the same core correction with identical original and corrected text. Line numbers are irrelevant per instructions."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original segment (\"moment with\") and the same correction (\"moment, with\"), correctly capturing the intended insertion of a comma after \"moment\". No discrepancy in the core change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"beautiful that\" to \"beautiful, that,\" inserting a comma after \"beautiful.\" This captures the core intended punctuation change with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation that",
            "corrected_text": "hesitation, that",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly they",
            "corrected_text": "directly, they",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:28.667781",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:37:11.759864",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers\". This captures the same core punctuation correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\n2. Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change: inserting a comma after \"moment\". Any difference in line number is to be ignored, so the text change fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\" to make \"beautiful, that.\" The original and corrected texts match the ground truth\u2019s intended punctuation change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him were",
            "corrected_text": "him, were",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation that",
            "corrected_text": "hesitation, that",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly they",
            "corrected_text": "directly, they",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:33.411862",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:34:11.820149",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 23,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original segment \"shore and\" and the same corrected form \"shore, and,\" capturing the core intended punctuation insertion (a comma after \"shore\"). Line numbers are to be ignored, so there is no mismatch affecting correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction are \"replacement\" edits, so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth replaces \"that\" with \"than\". The prediction replaces the larger phrase \"that once\" with \"than once\", which preserves the core intended change (\"that\" \u2192 \"than\") while including additional surrounding context (\"once\"). This correctly captures the essential correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "whatever Pet was,",
            "corrected_text": "whatever Pet was,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\u201cThank you,\u201d",
            "corrected_text": "\u201cThank you,\u201d",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:44.830522",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:27:25.172018",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 23,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Ignoring line numbers, the predicted edit matches the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing \"that\" with \"than\". The prediction replaces \"that once\" with \"than once\", which includes additional surrounding context (the word \"once\") but preserves the same core substitution \"that\" \u2192 \"than\". This correctly captures the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Thank you",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:42.191221",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:38:15.143385",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"that\" to \"than\". The prediction changes \"that once\" to \"than once\", which contains the same core correction (\"that\" \u2192 \"than\") while including additional surrounding context (\"once\"). This still captures the essential intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Pet was,",
            "corrected_text": "whatever Pet was,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now.\u201d",
            "corrected_text": "now.\u201d \u201cThank you,\u201d",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "doors when",
            "corrected_text": "doors when he entered,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that in our fancy",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:57.277919",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:35:18.283828",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 3,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n\nText Content Accuracy: Both specify the same core transformation: \"city\" \u2192 \"City\". This captures the essential intended correction in the ground truth. Line numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction also inserts a comma immediately after \"existence\" within a slightly larger span (\"existence at\" \u2192 \"existence, at\"). This captures the same core punctuation correction, merely including additional surrounding context. Therefore, the essential edit intention is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit also inserts a comma immediately after \"motionless\", using additional surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This captures the same core change\u2014adding a comma after \"motionless\"\u2014so the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 14,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit inserts a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit also inserts a comma immediately after \"view\" within a longer span (\"view by\" \u2192 \"view, by\"). This preserves the core intended punctuation change (adding a comma after \"view\") while including extra surrounding context, which is allowed.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each",
            "corrected_text": "to each",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:26:08.383617",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:28:27.395931",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 3,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth changes \"city\" to \"City.\" The prediction specifies the same original_text and corrected_text (\"city\" \u2192 \"City\"), capturing the core intended capitalization change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 13,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core punctuation change, adding a comma immediately after \"existence\" in a longer phrase (\"existence at\" \u2192 \"existence, at\"). This preserves the essential intended edit (comma after \"existence\") while including additional surrounding context, which is acceptable."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth\u2019s core change is to have a semicolon after \u201cit\u201d (changing \u201cit,\u201d to \u201cit;\u201d). The predicted edit also results in \u201cit;\u201d (shown as \u201cit; to\u201d with extra right-hand context). Although the predicted \"original_text\" omits the comma shown in the ground truth, the essential intended correction\u2014placing a semicolon immediately after \u201cit\u201d\u2014is captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are labeled as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit changes \"motionless when\" \u2192 \"motionless, when\", which also inserts a comma right after \"motionless\" and includes extra surrounding context (\"when\"). This captures the same core punctuation correction intended by the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds a comma in the same place within a larger phrase (\"view by\" \u2192 \"view, by\"), which correctly captures the core intended punctuation change. The additional context word \"by\" does not alter the essential edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lord and",
            "corrected_text": "lord, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:26:04.494862",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:39:23.919776",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 3,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The predicted change is \"city\" \u2192 \"City,\" which matches the ground truth\u2019s core correction exactly (capitalizing the word). Line number differences are ignored as instructed, so they do not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change by inserting a comma immediately after \"existence\" in the broader phrase (\"existence at\" \u2192 \"existence, at\"). This includes additional context but preserves the essential intended punctuation change.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to add a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same essential change, inserting a comma immediately after \"motionless\" within a slightly larger context (\"motionless when\" \u2192 \"motionless, when\"). This captures the core punctuation correction accurately, and the extra surrounding word does not alter the intent."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 14,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit applies the same core change by inserting a comma after \"view\" within a longer phrase (\"view by\" \u2192 \"view, by\"). The extra context word \"by\" does not alter the essential correction, and the comma placement matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lord and",
            "corrected_text": "lord, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:51.388444",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:36:13.303945",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "of the dryest snorts",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:53.003696",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:29:22.537527",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "snorts",
            "corrected_text": "snorts.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest",
            "corrected_text": "of the dryest",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:25:59.868780",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:40:25.210025",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 36,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth edit is a \"replacement\" and the predicted edit is also a \"replacement\", so the edit type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction replace the same original text \"authorize\" with the same corrected text \"authorise\". This captures the core intended change (American to British spelling). Line numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts.",
            "corrected_text": "of snorts.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:26:01.853842",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T19:37:08.154939",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change at the correct location. Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:26:11.173639",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-07T23:30:21.821833",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "For,",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-4o",
        "date": "2026-02-22T15:26:14.354847",
        "annotator": "GPT-4o",
        "annotation_date": "2025-04-08T08:41:20.497225",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the predicted span is shorter and omits \"Pancks,\" it captures the same core punctuation change in the correct location. Therefore, the essential edit is accurately represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2024-05-13",
    "release_source": "https://openai.com/index/hello-gpt-4o/"
  },
  {
    "model_name": "GPT-4o (2024-11-20 OR)",
    "model_id": "or_gpt_4o_2024_11_20",
    "date": "2026-02-22T16:06:21.434675",
    "shots": 2,
    "config": {
      "model_id": "or_gpt_4o_2024_11_20",
      "display_name": "GPT-4o (2024-11-20 OR)",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-4o (2024-11-20 OR)",
    "annotation_date": "2025-04-08T00:06:16.341168",
    "file_results": [
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:13.281744",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:06:16.341168",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth adds a period at the end of the phrase \"Fellow Travellers\" (making it \"Fellow Travellers.\"). The predicted edit adds a period at the end of the final word \"Travellers\" (making it \"Travellers.\"). Although the prediction includes less surrounding context (it omits \"Fellow\"), it captures the core intended change: inserting a period immediately after \"Travellers\" at the end of the phrase. Therefore, the essential punctuation correction is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both specify the same original text \"yonder to-day\" and the same correction \"yonder, to-day\", inserting a comma after \"yonder\". The core change is identical, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and rattling",
            "corrected_text": "pockets, and rattling",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and.\" The predicted edit makes the same core punctuation change (\"pockets and rattling\" \u2192 \"pockets, and rattling\"), simply including additional surrounding context. The essential intended correction\u2014adding a comma after \"pockets\" before \"and\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:17.901838",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T01:01:48.133301",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates adding a period at the end of the phrase \"Fellow Travellers\" (i.e., \"Fellow Travellers\" \u2192 \"Fellow Travellers.\"). The prediction applies the same core change\u2014adding a period at the end of the final word \"Travellers\" (\"Travellers\" \u2192 \"Travellers.\"). Although the predicted edit includes less surrounding context, it still captures the essential intended correction: inserting a period after the word \"Travellers\" at the end of the heading/phrase."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day, sir",
            "corrected_text": "yonder, to-day, sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"yonder\" (\"yonder to-day\" \u2192 \"yonder, to-day\"). The predicted edit also inserts a comma after \"yonder\" within a longer phrase (\"yonder to-day, sir\" \u2192 \"yonder, to-day, sir\"). The additional context (\", sir\") does not alter the core intended correction, and the essential punctuation change is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and rattling",
            "corrected_text": "pockets, and rattling",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The prediction applies the same core punctuation change but includes extra surrounding context (\"pockets and rattling\" \u2192 \"pockets, and rattling\"). This correctly captures the essential intended edit: adding a comma after \"pockets.\""
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:09.148758",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:43:47.297679",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both edits change \"yonder to-day\" to \"yonder, to-day\", inserting a comma after \"yonder\". The core punctuation change is identical in the prediction and ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and rattling",
            "corrected_text": "pockets, and rattling",
            "observed_line_number": 14,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and.\" The prediction applies the same core punctuation change within a longer context: \"pockets and rattling\" \u2192 \"pockets, and rattling.\" The essential edit (adding a comma after \"pockets\" before \"and\") is correctly captured, and the extra surrounding words are acceptable context."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles people",
            "corrected_text": "Marseilles' people",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shutting 'em up",
            "corrected_text": "shutting 'em, up",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:08.089180",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:07:10.423917",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\"",
            "corrected_text": "stones.\"",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:14.604181",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T01:02:40.377516",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 26,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so this matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"why did he dine\" to \"Why did he dine\", which is specifically capitalizing the initial \"w\" in \"why\". The prediction captures this core change by editing \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it correctly represents the essential capitalization correction intended."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\" She",
            "corrected_text": "stones.\" She",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:08.820530",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:44:34.393164",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\" She",
            "corrected_text": "stones.\" She",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:22.037274",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:07:56.974106",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 38,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"if he\" to \"If he\", which capitalizes the word \"if\" at the start of the phrase. The prediction changes \"if\" to \"If\". Although the prediction includes less surrounding context (it omits \"he\"), it captures the core intended change: lowercasing \"if\" to capitalized \"If\". Additional context is not required as long as the essential change is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 40,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\", whose essential correction is replacing the word \"said\" with \"asked\" while keeping the surrounding context (\"Clennam\") unchanged. The prediction replaces \"said\" with \"asked\" (without including \"Clennam\"), which still captures the core intended change. Including less surrounding context is acceptable as long as the essential substitution is correct."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:27.513043",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:45:23.293987",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:33.677406",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:08:49.430754",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"high road\") and the same corrected text (\"high-road\"), capturing the identical core change of adding a hyphen. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core correction: inserting a comma so that \"about and\" becomes \"about, and.\" The original_text and corrected_text match the ground truth\u2019s intended change. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change the word \"said\" to \"said,\" by adding a comma. This captures the same core punctuation correction. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:51.606938",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T01:04:22.407265",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma so that \"about and\" becomes \"about, and\". The original and corrected text match the ground truth intention precisely. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both edits change \"said\" to \"said,\", inserting a comma after the word. This captures the core intended correction with identical original and corrected text. Line number differences are to be ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". This captures the same core punctuation correction. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:41.713617",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:46:20.581504",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road,\" capturing the identical core change (inserting a hyphen between the words). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma between \"about\" and \"and\" (\"about and\" \u2192 \"about, and\"). The original and corrected text match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2. Text Content Accuracy: Both specify the same core correction: changing \"said\" to \"said,\" by adding a comma. This captures the essential intended edit with no discrepancy in the text change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core correction: inserting a comma after \"Clennam\" in the phrase \"Clennam in\" to make \"Clennam, in.\" The original and corrected texts match the ground truth\u2019s intended change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:42.506537",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:09:53.887868",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:50.451682",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T01:05:08.380799",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:49.135290",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:47:13.439749",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to make the phrase end with a period (\"Sun and Shadow\" \u2192 \"Sun and Shadow.\"). The prediction also results in the same intended correction (ending with a period: \"Sun and Shadow.\"), even though it assumes the original had a trailing comma (\"Sun and Shadow,\"). The core editorial intention\u2014ensuring the text ends with a period\u2014is correctly captured."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:03.250123",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:10:40.780501",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Ch\u00e2lons",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:52:58.679631",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T01:06:13.779136",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chalons",
            "corrected_text": "Ch\u00e2lons",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "soddenwith",
            "corrected_text": "sodden with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:03.565188",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:48:03.433697",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chalons",
            "corrected_text": "Ch\u00e2lons",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "soddenwith",
            "corrected_text": "sodden with",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:07.891316",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:11:38.839721",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core change is identical, with no discrepancies in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:15.442630",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T01:07:09.372548",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change: inserting a comma after \"heart\" in the phrase \"heart so\" to become \"heart, so.\" The original_text and corrected_text match the ground truth\u2019s intended punctuation edit. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:17.454940",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:49:06.429445",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change: inserting a comma after \"heart\" in the phrase \"heart so\" to make it \"heart, so.\" The original and corrected text match the ground truth\u2019s intention. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "face with",
            "corrected_text": "face, with",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her heart",
            "corrected_text": "her heart,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Oh I",
            "corrected_text": "Oh! I",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:21.871952",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:12:43.897381",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction applies the same core punctuation change within a slightly larger context (\"on hers matters\" \u2192 \"on hers, matters\"), which correctly captures the essential intended correction. Extra surrounding words do not alter the core edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "for a moment with",
            "corrected_text": "for a moment, with",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after \"moment\" (\"moment with\" \u2192 \"moment, with\"). The prediction applies the same core punctuation change, inserting a comma after \"moment\" as well, but includes extra surrounding context (\"for a moment with\" \u2192 \"for a moment, with\"). This additional context does not change the essential edit, and the intended punctuation correction is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation that",
            "corrected_text": "hesitation, that",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:23.270237",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T01:07:58.434796",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma between \"hers\" and \"matters\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction performs the same essential punctuation change, adding a comma after \"hers\" (\"on hers matters\" \u2192 \"on hers, matters\"). The extra surrounding context word (\"on\") does not alter the core intended edit. Therefore, the text content change matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "for a moment with",
            "corrected_text": "for a moment, with",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"moment\" (\"moment with\" \u2192 \"moment, with\"). The predicted edit performs the same core change, also inserting a comma after \"moment\" (\"for a moment with\" \u2192 \"for a moment, with\"). The prediction includes additional surrounding context (\"for a\") but preserves the essential intended punctuation change.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation that",
            "corrected_text": "hesitation, that",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:25.733384",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:49:55.566197",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers matters\" \u2192 \"hers, matters\". The predicted edit applies the same essential punctuation change within a longer snippet: \"on hers matters\" \u2192 \"on hers, matters\". The additional context word (\"on\") does not alter the core intended correction, which is the comma insertion after \"hers\".\n\nTherefore, the prediction correctly captures the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "for a moment with",
            "corrected_text": "for a moment, with",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"moment\" in the phrase \"moment with\" \u2192 \"moment, with\". The prediction does the same core change, adding a comma after \"moment\" in a slightly longer surrounding context: \"for a moment with\" \u2192 \"for a moment, with\". This captures the same intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation that",
            "corrected_text": "hesitation, that",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:41.597743",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:13:36.657097",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\" before \"and\". Any difference in line number is to be ignored per instructions.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the word \"that\" to \"than\". The predicted edit changes \"that once\" to \"than once\", which includes additional surrounding context (the word \"once\") but preserves the same core correction: \"that\" \u2192 \"than\". This accurately captures the ground truth\u2019s intended change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that in our fancy",
            "corrected_text": "in our fancy",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\u201cThank you\u201d",
            "corrected_text": "\u201cThank you,\u201d",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:43.169102",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T01:08:48.557746",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"shore and\") and the same corrected_text (\"shore, and\"), capturing the identical core change (inserting a comma after \"shore\"). Ignoring line numbers as instructed, the prediction matches the ground truth edit intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction use the edit type \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is specifically \"that\" \u2192 \"than\". The prediction expands the span to \"that once\" \u2192 \"than once\", but the essential intended correction (changing \"that\" to \"than\") is preserved, with \"once\" simply included as additional unchanged context. Therefore the core textual correction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that in our fancy",
            "corrected_text": "in our fancy",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "whatever Pet was,",
            "corrected_text": "whatever Pet was the other was,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "\u201cThank you,\u201d",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "The lights were bright",
            "corrected_text": "The lights were bright within-doors",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:43.261970",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:50:47.035506",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Ignoring line numbers, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 25,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify replacing \"within doors\" with \"within-doors\", capturing the same core intended correction (hyphenation). No discrepancy in the actual text change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that in our fancy",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:54:18.462626",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:14:37.392621",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 3,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City\". This captures the essential intended correction with identical original and corrected text.\n\nLine numbers are ignored as instructed, so the differing line_number values do not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to make the punctuation after \u201cthem\u201d a semicolon (i.e., \u201cthem,\u201d \u2192 \u201cthem;\u201d). The prediction also results in \u201cthem;\u201d. Although the prediction\u2019s `original_text` omits the comma (\"them\" instead of \"them,\"), it still captures the core intended correction: the punctuation following \u201cthem\u201d should be a semicolon. Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates inserting a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, inserting a comma immediately after \"existence\" while including extra surrounding context (\"existence at\" \u2192 \"existence, at\"). This captures the essential intended punctuation correction.\n\nTherefore, the prediction correctly reflects the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 19,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma immediately after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction also inserts a comma after \"view,\" using additional context (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation change at the same location relative to the word \"view.\" Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "when we",
            "corrected_text": "when, we",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "lord",
            "corrected_text": "Lord",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T16:06:21.434675",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T01:09:44.530271",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 3,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"city\" to \"City,\" capturing the same core capitalization correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit inserts a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit applies the same core change by inserting a comma immediately after \"existence\" within a larger phrase (\"existence at\" \u2192 \"existence, at\"). The additional context word \"at\" does not alter the essential intention of the edit. Therefore, the predicted edit correctly captures the ground truth change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit changes \"motionless when\" \u2192 \"motionless, when\", which also inserts a comma immediately after \"motionless\" and simply includes the following word as additional context. This captures the same core punctuation change.\n\nTherefore, the predicted edit correctly matches the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 18,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the types match exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma immediately after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction inserts a comma after \"view\" as well, using additional surrounding context (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation change intended by the ground truth.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "lord",
            "corrected_text": "Lord",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:54:05.808046",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:51:54.964677",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City\". There is no discrepancy in the original or corrected text content. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view;",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "lord",
            "corrected_text": "liege lord",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each",
            "corrected_text": "to each",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:50.899963",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:15:37.336020",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\", which captures the same core spelling change intended by the ground truth. Ignoring line numbers, the essential edit is identical."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:54:00.476439",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T01:10:42.425995",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 36,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"authorize\" with \"authorise\", capturing the same core spelling change. Ignoring line numbers as instructed, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:53:58.457141",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:52:52.513274",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\", capturing the same core spelling change. Line number differences are ignored as instructed. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "of the dryest snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:54:00.768404",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T00:16:23.508602",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:54:00.767062",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T01:11:28.398685",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "making me",
            "corrected_text": "making me,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gpt_4o_2024_11_20",
        "date": "2026-02-22T15:54:06.731205",
        "annotator": "GPT-4o (2024-11-20 OR)",
        "annotation_date": "2025-04-08T08:53:42.363017",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still 'tis",
            "corrected_text": "still, 'tis",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2024-11-20",
    "release_source": "https://help.openai.com/en/articles/9624314-model-release-notes"
  },
  {
    "model_name": "GPT-4o (OR)",
    "model_id": "or_gpt_4_turbo",
    "date": "2026-02-22T15:52:02.560089",
    "shots": 2,
    "config": {
      "model_id": "or_gpt_4_turbo",
      "display_name": "GPT-4o (OR)",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-4o (OR)",
    "annotation_date": "2025-04-07T21:20:57.604638",
    "file_results": [
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:49:58.279031",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:20:57.604638",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to-day, Sir,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling,over",
            "corrected_text": "howling, over",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:10.787125",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:43:19.234870",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": ",",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to-day, Sir,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:10.786476",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-08T06:11:53.967140",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to-day, Sir,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling,over",
            "corrected_text": "howling, over",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:19.267251",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:21:49.476179",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "misgiving",
            "corrected_text": "reason",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:19.269710",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:44:07.356145",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine",
            "corrected_text": "why did he dine to",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "CAP",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:24.303933",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-08T06:12:47.237409",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine",
            "corrected_text": "why did he dine to",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:24.306439",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:22:37.079597",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:29.845727",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:45:06.735455",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:29.724874",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-08T06:13:39.037019",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:39.815366",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:23:33.002073",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said when\" to \"said, when\", which is effectively the insertion of a comma immediately after \"said\". The prediction captures this core change by converting \"said\" to \"said,\". Although it omits the following word \"when\" from the span, it still represents the same essential punctuation insertion at the correct location. Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:36.823859",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:46:04.911365",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core correction\u2014adding a comma after \"said\" (\"said\" \u2192 \"said,\"). Ignoring line numbers as instructed, the predicted edit captures the same essential punctuation change as the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:38.941518",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:24:18.282116",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the same core correction with identical original and corrected text. Line number differences are ignored as instructed."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:40.070473",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:46:53.951141",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both edits change the same phrase from \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the core intended correction with no discrepancy in the actual text change.\n\nLine numbers are ignored as instructed, so the difference in line_number does not affect correctness."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:39.570272",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-08T06:15:15.971735",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the same core punctuation correction with identical original and corrected text. Line numbers are ignored as instructed."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:50.910635",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:25:06.155274",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "looking-glass in",
            "corrected_text": "looking-glass, in",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone it",
            "corrected_text": "river Saone, it",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with",
            "corrected_text": "sodden, with",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:52.101977",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:47:53.594685",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "looking-glass in",
            "corrected_text": "looking-glass, in",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone it",
            "corrected_text": "Saone, it",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with",
            "corrected_text": "sodden, with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:55.109069",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-08T06:16:04.244118",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "looking-glass in",
            "corrected_text": "looking-glass, in",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone it",
            "corrected_text": "Saone, it",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with",
            "corrected_text": "sodden, with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:50:52.841360",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:26:01.285472",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I would have",
            "corrected_text": "I wouldhave",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped",
            "corrected_text": "hoped so",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hope so",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:09.677962",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:48:52.066063",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I would have",
            "corrected_text": "I wouldhave",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped",
            "corrected_text": "hope",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hope so",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:06.778604",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-08T06:17:09.590580",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I would have",
            "corrected_text": "I wouldhave",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped",
            "corrected_text": "hoped so",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "generous",
            "corrected_text": "",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:04.534623",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:26:51.111620",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "hers",
            "corrected_text": "Hers",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:03.554963",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:49:46.511089",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:09.182302",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-08T06:18:00.936677",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hers",
            "corrected_text": "his",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:25.754588",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:27:47.478556",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "that once were",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:23.469936",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:50:43.748454",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "that once were",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:28.725471",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-08T06:18:55.972801",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "that once were",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:43.834558",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:28:44.308180",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 18,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core punctuation change, inserting a comma immediately after \"view\" within a larger context (\"view by\" \u2192 \"view, by\"). This captures the essential intended edit (comma after \"view\"), with permissible extra surrounding words."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city (CCCP)",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "lucrative",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence; at",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:41.999437",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:51:38.707310",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city (CCCP)",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "lucrative",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege",
            "corrected_text": "lord",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:45.233741",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-08T06:19:54.337922",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city (CCQ)",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "lucrative",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege",
            "corrected_text": "liege lord",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:33.307448",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:29:46.184630",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "boiling over",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:34.205065",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:52:30.118701",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "boiling over",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:51:44.913950",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T21:30:32.295312",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "so quickly that",
            "corrected_text": "so quickly, that",
            "observed_line_number": 9,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"quickly\" (\"quickly that\" \u2192 \"quickly, that\"). The prediction also inserts a comma after \"quickly\" in the same construction, just with extra preceding context (\"so quickly that\" \u2192 \"so quickly, that\"). This captures the same core punctuation correction intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bedroom,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "making me",
            "corrected_text": "making me,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I ought",
            "corrected_text": "I ought,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur",
            "corrected_text": "Arthur,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still 'tis",
            "corrected_text": "still, 'tis",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and if",
            "corrected_text": "and, if",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I did",
            "corrected_text": "I did,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I suppose",
            "corrected_text": "I suppose,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "but I'm",
            "corrected_text": "but, I'm",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "and a",
            "corrected_text": "",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:52:02.560089",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-07T23:53:22.654194",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bedroom,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sight",
            "corrected_text": "sight,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "mind",
            "corrected_text": "mind,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "apology",
            "corrected_text": "apology,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Arthur",
            "corrected_text": "Arthur,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me",
            "corrected_text": "me,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gpt_4_turbo",
        "date": "2026-02-22T15:52:02.036659",
        "annotator": "GPT-4o (OR)",
        "annotation_date": "2025-04-08T06:21:34.249513",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 9,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"quickly that\" \u2192 \"quickly, that\", inserting a comma after \"quickly\". This captures the core intended punctuation change with identical original and corrected text. Line number differences are irrelevant as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bedroom,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sight as this and",
            "corrected_text": "sight as this, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "making me",
            "corrected_text": "making me,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur for",
            "corrected_text": "Arthur, for",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur returned",
            "corrected_text": "Arthur, returned",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view but",
            "corrected_text": "view, but",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "a",
            "corrected_text": "",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2023-11-06",
    "release_source": "https://openai.com/index/new-models-and-developer-products-announced-at-devday/",
    "release_notes": "OpenRouter route to GPT-4 Turbo."
  },
  {
    "model_name": "GPT-4o Mini",
    "model_id": "gpt-4o-mini",
    "date": "2026-02-22T15:28:07.409022",
    "shots": 2,
    "config": {
      "model_id": "gpt-4o-mini",
      "display_name": "GPT-4o Mini",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-4o Mini",
    "annotation_date": "2025-04-07T19:39:04.893095",
    "file_results": [
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:23.716969",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:39:04.893095",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "is none.",
            "corrected_text": "is none.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "other-wise.",
            "corrected_text": "otherwise.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles,",
            "corrected_text": "Marseilles.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "business,",
            "corrected_text": "business.",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day.",
            "corrected_text": "to-day.",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day!",
            "corrected_text": "to-day!",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in for?",
            "corrected_text": "in for?",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day, Sir,",
            "corrected_text": "yonder to-day, sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:24.022049",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:33:12.387968",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to be heard.",
            "corrected_text": "to be heard.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "happy other-wise.",
            "corrected_text": "happy otherwise.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "insurrectionary tune into",
            "corrected_text": "insurrectionary tune into",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "something or other \u2014",
            "corrected_text": "something or other\u2014",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "business, instead of shutting 'em in quarantine!",
            "corrected_text": "business instead of shutting 'em in quarantine!",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day.",
            "corrected_text": "to-day.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day! What have we ever been in for?",
            "corrected_text": "to-day! What have we ever been in for?",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day, Sir,",
            "corrected_text": "yonder to-day, sir,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:30.550475",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:16:39.557325",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day.",
            "corrected_text": "to-day.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day!",
            "corrected_text": "to-day!",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day.",
            "corrected_text": "to-day.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day.",
            "corrected_text": "to-day.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day, Sir,",
            "corrected_text": "yonder to-day, sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:37.749358",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:40:01.422174",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "the great difference that",
            "corrected_text": "the great difference between",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and he gentle",
            "corrected_text": "and he, gentle",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I knew you must",
            "corrected_text": "I knew you must be",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and is so cold.",
            "corrected_text": "and, it is so cold.",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to touch it, while",
            "corrected_text": "to touch it while",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "put it nearer the warmth.",
            "corrected_text": "put it nearer, the warmth.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it was quite warm;",
            "corrected_text": "it was quite warm.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to people.",
            "corrected_text": "to people?",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I tell you something, sir?",
            "corrected_text": "I tell you something, sir.",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to the mercy of the cold stones.",
            "corrected_text": "to the mercy of the cold stones?",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:30.788419",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:34:01.330640",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the great difference that",
            "corrected_text": "the great difference that,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and is so cold.",
            "corrected_text": "and is so cold;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the fire; \"put it",
            "corrected_text": "the fire; \"put it,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the cold stones\"",
            "corrected_text": "the cold stones\";",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to the mercy of the cold stones\"",
            "corrected_text": "to the mercy of the cold stones\";",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"may I tell you something, sir?\"",
            "corrected_text": "\"may I tell you something, sir?\"",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:52.178223",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:17:36.280926",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "my poor child! Here at midnight?",
            "corrected_text": "my poor child! Here at midnight?",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you must be very much surprised.",
            "corrected_text": "you must be very much surprised.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I have no fire, said Clennam.",
            "corrected_text": "I have no fire,\u201d said Clennam.",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it is so cold.",
            "corrected_text": "it is so cold,\u201d",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "put it nearer the warmth.",
            "corrected_text": "put it nearer the warmth,\u201d",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it was quite warm!",
            "corrected_text": "it was quite warm!\u201d",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I tell you something, sir?",
            "corrected_text": "I tell you something, sir?\u201d",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the cold stones!",
            "corrected_text": "the cold stones?\u201d",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:34.723943",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:41:03.859936",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:34.834445",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:34:52.868577",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:43.053654",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:18:26.847524",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:52.476283",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:42:03.583185",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said (comma)",
            "corrected_text": "said,",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \u201csaid\u201d in the phrase \u201csaid when\u201d \u2192 \u201csaid, when.\u201d The prediction also captures the essential change by adding a comma after \u201csaid\u201d (\u201csaid\u201d \u2192 \u201csaid,\u201d). Although it does not include the following word \u201cwhen,\u201d it still represents the same core punctuation correction (comma after \u201csaid\u201d). Therefore, the prediction matches the ground truth\u2019s intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:55.485316",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:35:41.682468",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said (comma)",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the sequence \"said when\" \u2192 \"said, when.\" The predicted edit also represents inserting a comma immediately after \"said\" (\"said\" \u2192 \"said,\"). Although the prediction omits the following word \"when\" and uses a slightly odd original_text representation (\"said (comma)\"), it still captures the core intended change: adding a comma after \"said.\" Therefore, the essential punctuation correction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam!",
            "corrected_text": "Clennam,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam!",
            "corrected_text": "Clennam,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:58.353239",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:19:28.668572",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said (comma)",
            "corrected_text": "said,",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when\". The predicted edit represents the same core punctuation change by converting \"said\" into \"said,\" (even though it does not include the following word \"when\" and oddly includes \"(comma)\" in the original_text). The essential intended modification\u2014adding a comma after \"said\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:26:58.265772",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:42:47.030053",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:02.822380",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:36:29.142886",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:01.707482",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:20:11.530035",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to make the title end with a period (\"Sun and Shadow\" \u2192 \"Sun and Shadow.\"). The predicted edit also results in the same corrected text ending with a period (\"Sun and Shadow,\" \u2192 \"Sun and Shadow.\"). Although the prediction assumes the original ended with a comma rather than no punctuation, it still captures the core intended correction: the ending punctuation should be a period."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:22.927557",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:43:45.052827",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Let Loose ,",
            "corrected_text": "Let Loose.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to add a period to make the phrase read \"Let Loose.\" The prediction also results in \"Let Loose.\" While the predicted original_text includes an extra comma (\"Let Loose ,\") that is not present in the ground truth original_text, the essential intended correction\u2014ensuring the phrase ends with a period\u2014is correctly captured in the predicted corrected_text. Therefore, the core change matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI.",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the wa-",
            "corrected_text": "the hyphen",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sa\u00f4ne. The",
            "corrected_text": "Sa\u00f4ne. the",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with wet;",
            "corrected_text": "soddened with wet;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:17.404421",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:37:19.247316",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hyphen",
            "corrected_text": "hyphen.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with wet",
            "corrected_text": "soddened with wet",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "toil and muttering.",
            "corrected_text": "toiling and muttering.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sa\u00f4ne. The",
            "corrected_text": "Sa\u00f4ne, the",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:29.114617",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:21:01.762011",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing \"sodden\" with \"soddened.\" The prediction replaces \"sodden with\" with \"soddened with,\" which includes extra surrounding context (the word \"with\") but preserves the same core modification: \"sodden\" \u2192 \"soddened.\" Therefore, the predicted edit captures the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sa\u00f4ne. The",
            "corrected_text": "Sa\u00f4ne, the",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "hyphen",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:13.897925",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:44:42.522930",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped so",
            "corrected_text": "I hope so",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cOh! I have very much to ask of you.\u201d",
            "corrected_text": "\u201cOh! I have very much to ask of you?\u201d",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:24.825406",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:38:12.746722",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "him",
            "corrected_text": "himself",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cOh! I have very much to ask of you.\u201d",
            "corrected_text": "\u201cOh! I have very much to ask of you?\u201d",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cThat\u2019s well! I hoped so; I am not disappointed.\u201d",
            "corrected_text": "\u201cThat\u2019s well! I hoped so; I am not disappointed!\u201d",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:14.176972",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:22:06.349541",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped so",
            "corrected_text": "I hoped so;",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I have very much to ask of you.",
            "corrected_text": "I have very much to ask of you?",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Oh!",
            "corrected_text": "Oh!",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to his face, with some hurried words",
            "corrected_text": "to his face; with some hurried words",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:20.998399",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:45:32.675469",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rose or two from hers",
            "corrected_text": "rose or two from her",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and out at that arch of light at the other end,",
            "corrected_text": "and out at that arch of light, at the other end,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that papa had abandoned the idea.",
            "corrected_text": "that papa had abandoned the idea.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this, he thought directly,",
            "corrected_text": "At this, he thought directly,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to be married.",
            "corrected_text": "to be married?",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment, with a look in which regard for him and trustfulness in him were strikingly blended",
            "corrected_text": "for a moment, with a look in which regard for him and trustfulness in him, were strikingly blended",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:28.642651",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:38:58.717952",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rose or two from hers",
            "corrected_text": "rose or two from her's",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and out at that arch of light at the other end",
            "corrected_text": "and out at that arch of light; at the other end",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment, with a look",
            "corrected_text": "for a moment; with a look",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that papa had abandoned",
            "corrected_text": "that papa had abandoned.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this, he thought directly,",
            "corrected_text": "At this, he thought directly,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:29.548716",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:22:59.311902",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rose or two from hers",
            "corrected_text": "rose or two from her's",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and out at that arch of light at the other end",
            "corrected_text": "and out at that arch of light; at the other end",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment, with a look",
            "corrected_text": "for a moment; with a look",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that papa had abandoned",
            "corrected_text": "that papa had abandoned.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this, he thought directly,",
            "corrected_text": "At this, he thought directly,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:45.540219",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:46:21.917414",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "than once were",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in our fancy",
            "corrected_text": "that in our fancy,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors.",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:42.157451",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:39:44.902906",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "than once were",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in our fancy",
            "corrected_text": "that in our fancy,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:52.863329",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:23:57.556642",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"within doors\" with \"within-doors\". The core intended change (hyphenating the phrase) is identical. Line number differences are to be ignored, so the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in our fancy",
            "corrected_text": "that in our fancy,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "whatever Pet was, the other was?",
            "corrected_text": "whatever Pet was, the other was?",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "than",
            "corrected_text": "than,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:59.580088",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:47:17.778070",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the",
            "corrected_text": "The",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each",
            "corrected_text": "each recurring",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "being has.",
            "corrected_text": "being has;",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "when we were brought",
            "corrected_text": "when we were brought",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege lord",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence; at",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it; to",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view; by",
            "corrected_text": "view; by",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; the",
            "corrected_text": "existence; the",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:58.879910",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:40:45.261079",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the",
            "corrected_text": "The",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to each",
            "corrected_text": "each",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "when we were",
            "corrected_text": "when we were",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view; by",
            "corrected_text": "view; by",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; the",
            "corrected_text": "existence; the",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege lord",
            "corrected_text": "liege lord.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence; at",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:28:00.474335",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:24:55.152798",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the",
            "corrected_text": "The",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "when",
            "corrected_text": "when,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view;",
            "corrected_text": "view,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege",
            "corrected_text": "liege,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:49.740117",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:48:09.330165",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the driest snorts.",
            "corrected_text": "of the driest snorts.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "your hands.",
            "corrected_text": "your hands.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:49.736523",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:41:43.428260",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the driest snorts.",
            "corrected_text": "of the driest snorts.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bubbling out of him",
            "corrected_text": "bubbling out of him",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "your hands.",
            "corrected_text": "your hands.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:27:57.183223",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:25:45.166225",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the driest snorts.",
            "corrected_text": "of the driest snorts.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bubbling out of him",
            "corrected_text": "bubbling out of him",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "your hands.",
            "corrected_text": "your hands.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:28:05.684245",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T19:49:05.246399",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Rugg,",
            "corrected_text": "Rugg;",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "never and a faded check",
            "corrected_text": "never, and a faded check",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me, not that",
            "corrected_text": "me; not that",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fled Arthur,",
            "corrected_text": "fled, Arthur,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "head.",
            "corrected_text": "head;",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:28:05.682601",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-07T21:42:35.520713",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Rugg,",
            "corrected_text": "Rugg.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me; not",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fled Arthur,",
            "corrected_text": "fled, Arthur,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cucumber",
            "corrected_text": "Cucumber,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-4o-mini",
        "date": "2026-02-22T15:28:07.409022",
        "annotator": "GPT-4o Mini",
        "annotation_date": "2025-04-08T08:26:45.130120",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Rugg,",
            "corrected_text": "Rugg;",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "never and a faded check",
            "corrected_text": "never, and a faded check",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me, not that",
            "corrected_text": "me; not that",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fled Arthur,",
            "corrected_text": "fled, Arthur,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "head.",
            "corrected_text": "head;",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2024-07-18",
    "release_source": "https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/"
  },
  {
    "model_name": "GPT-4o-mini (OR)",
    "model_id": "or_gpt_4o_mini",
    "date": "2026-02-22T15:56:02.218007",
    "shots": 2,
    "config": {
      "model_id": "or_gpt_4o_mini",
      "display_name": "GPT-4o-mini (OR)",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-4o-mini (OR)",
    "annotation_date": "2025-04-07T20:20:10.302989",
    "file_results": [
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:19.636200",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:20:10.302989",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I mean the French people.",
            "corrected_text": "I mean the French people; they're always at it.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the world that was ever composed.",
            "corrected_text": "the world that was ever composed; it couldn't exist without",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to something or other \u2014 victory or death, or blazes,",
            "corrected_text": "to something or other \u2014 victory or death, or blazes; or something.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shutting 'em up in quarantine!",
            "corrected_text": "shutting 'em up in quarantine.",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out to-day!",
            "corrected_text": "Out to-day!",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "What have we ever been in for?",
            "corrected_text": "What have we ever been in for?",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day, Sir,",
            "corrected_text": "yonder to-day, sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:15.002427",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:45:18.660436",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to-day.",
            "corrected_text": "to-day!",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to-day.",
            "corrected_text": "to-day!",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to-day.",
            "corrected_text": "to-day!",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "and marshong",
            "corrected_text": "and marshong,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:15.144204",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-08T06:31:18.703268",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to-day.",
            "corrected_text": "to-day!",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to-day.",
            "corrected_text": "to-day!",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles,",
            "corrected_text": "Marseilles.",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "allong",
            "corrected_text": "along",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "marshong",
            "corrected_text": "marshong.",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to-day.",
            "corrected_text": "to-day!",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to-day.",
            "corrected_text": "to-day!",
            "observed_line_number": 51,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:23.147514",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:21:11.297865",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "my poor child",
            "corrected_text": "my poor child,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the warmth",
            "corrected_text": "the warmth;",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "anything else",
            "corrected_text": "anything else,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine",
            "corrected_text": "why did he dine to",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the cold stones",
            "corrected_text": "the cold stones?",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:26.415602",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:46:13.551162",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "my child",
            "corrected_text": "my child.",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "csp",
            "corrected_text": "CSP",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine",
            "corrected_text": "why did he dine to",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the cold stones",
            "corrected_text": "the cold stones?",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:40.794895",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-08T06:32:11.972436",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "my child",
            "corrected_text": "my child,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine",
            "corrected_text": "why did he dine to",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the cold stones",
            "corrected_text": "the cold stones?",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:37.810570",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:22:07.060709",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 38,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction capitalizes the same word but with less surrounding context: \"if\" \u2192 \"If\". This still captures the core intended change (capitalizing \"if\" to \"If\"), and omitting the following word \"he\" does not alter the essential correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "said",
            "corrected_text": "Said",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:42.197219",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:47:04.719963",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 34,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"if\" at the start of the phrase \"if he\" (\"if he\" \u2192 \"If he\"). The prediction captures the same core change by capitalizing \"if\" (\"if\" \u2192 \"If\"). Although it includes less surrounding context (omits \"he\"), it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:35.007015",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:23:03.856483",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said (",
            "corrected_text": "said, (",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Clennam,",
            "corrected_text": "Clennam in",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:44.662218",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:47:58.835026",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said (",
            "corrected_text": "said, (",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Clennam,",
            "corrected_text": "Clennam in",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:45.280625",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-08T06:33:59.296596",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said (",
            "corrected_text": "said, (",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Clennam,",
            "corrected_text": "Clennam in",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:54:56.269854",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:23:55.116198",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:00.396539",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:48:40.146156",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": ".",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:10.056693",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-08T06:34:52.942600",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:20.442720",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:24:49.017255",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trees,",
            "corrected_text": "trees;",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with wet; limping",
            "corrected_text": "with wet; limping,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "knives!",
            "corrected_text": "knives!",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "darkness,",
            "corrected_text": "darkness;",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose ,",
            "corrected_text": "Let Loose,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone.",
            "corrected_text": "Sa\u00f4ne.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "hyphen",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "soddened",
            "corrected_text": "sodden",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:08.209305",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:51:41.342250",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:12.061012",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:25:44.219166",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "heart,",
            "corrected_text": "heart;",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "him from her heart",
            "corrected_text": "him from her heart,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped so",
            "corrected_text": "I hope so",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that! I hope so",
            "corrected_text": "that! I hope so;",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:10.444129",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:52:41.761170",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "heart,",
            "corrected_text": "heart;",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him from her heart (as",
            "corrected_text": "him from her heart; (as",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped so",
            "corrected_text": "I hope so",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that\u2019s well! I hope so; I am not disappointed.",
            "corrected_text": "that\u2019s well! I hope so; I am not disappointed.",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:17.387860",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-08T06:36:37.088233",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "indeed",
            "corrected_text": "indeed,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped so",
            "corrected_text": "I hope so",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart,",
            "corrected_text": "heart, so",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I hope so",
            "corrected_text": "I hope so;",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:25.034552",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:26:39.856370",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rose or two from hers",
            "corrected_text": "rose or two from her",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on her matters",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment, with",
            "corrected_text": "moment; with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that papa had abandoned",
            "corrected_text": "that Papa had abandoned",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they are to be married.",
            "corrected_text": "They are to be married.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "confidence, if",
            "corrected_text": "confidence; if",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:31.449826",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:53:33.734405",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rose or two from hers",
            "corrected_text": "rose or two from her",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and out at that arch of light at",
            "corrected_text": "and out at that arch of light, at",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment, with",
            "corrected_text": "for a moment; with",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that papa had abandoned",
            "corrected_text": "that Papa had abandoned",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "confidence",
            "corrected_text": "Confidence",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "they are to be married.",
            "corrected_text": "they are to be married.",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:32.097277",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:27:33.818120",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in our fancy",
            "corrected_text": "that in our fancy,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "than once",
            "corrected_text": "than once,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:32.473902",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:54:30.907334",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in our fancy",
            "corrected_text": "that in our fancy,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "than",
            "corrected_text": "then",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:33.453156",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-08T06:38:24.570227",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in our fancy",
            "corrected_text": "that in our fancy,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "than once",
            "corrected_text": "than once,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:47.431314",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:28:33.763719",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the",
            "corrected_text": "The",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them:",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence; at",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it:",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "when",
            "corrected_text": "when,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view;",
            "corrected_text": "view,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence:",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege lord,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:56:01.083268",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:55:29.012926",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the",
            "corrected_text": "The",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each",
            "corrected_text": "each ",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them:",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence; at",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it:",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "when",
            "corrected_text": "when,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege lord,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "c",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence:",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view;",
            "corrected_text": "view,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:50.149338",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:29:28.292982",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the driest snorts.",
            "corrected_text": "of the driest snorts.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of",
            "corrected_text": "benevolence bubbling out of",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:54.436805",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:56:22.349350",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the driest snorts.",
            "corrected_text": "of the driest snorts.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of",
            "corrected_text": "benevolence bubbling out of",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:55.407037",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-08T06:40:12.122938",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the driest snorts.",
            "corrected_text": "of the driest snorts.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "your hands.",
            "corrected_text": "your hands.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:55.406245",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T20:30:25.772397",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "and a faded check too",
            "corrected_text": "and a faded check too,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me, not that",
            "corrected_text": "me; not that",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fled Arthur",
            "corrected_text": "fled, Arthur",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cucumber",
            "corrected_text": "Cucumber,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:55:59.366735",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-07T21:57:17.282387",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "and a faded check too",
            "corrected_text": "and a faded check too,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me, not that",
            "corrected_text": "me; not that",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fled Arthur",
            "corrected_text": "fled, Arthur",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cucumber",
            "corrected_text": "Cucumber,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gpt_4o_mini",
        "date": "2026-02-22T15:56:02.218007",
        "annotator": "GPT-4o-mini (OR)",
        "annotation_date": "2025-04-08T06:41:18.552567",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "and a faded check",
            "corrected_text": "and a faded check too",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me, not that",
            "corrected_text": "me; not that",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fled Arthur",
            "corrected_text": "fled, Arthur",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cucumber",
            "corrected_text": "Cucumber,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2024-07-18",
    "release_source": "https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/",
    "release_notes": "OpenRouter route to GPT-4o mini."
  },
  {
    "model_name": "GPT-5",
    "model_id": "gpt-5",
    "date": "2026-02-18T01:39:58.336186",
    "shots": 2,
    "config": {
      "model_id": "gpt-5",
      "display_name": "GPT-5",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-02-18",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-5",
    "annotation_date": "2026-02-17T23:01:34.908870",
    "file_results": [
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:20:53.891800",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:01:34.908870",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit aligns perfectly with the ground truth edit. Firstly, the edit type is labeled as 'punctuation' in both the ground truth and the predicted edit, ensuring edit type accuracy. Secondly, the text content accuracy criterion is met since the core punctuation change, which is the addition of a period after 'Fellow Travellers', is precisely captured in the predicted edit. The start state 'Fellow Travellers' and the end state 'Fellow Travellers.' are identical in both the ground truth and prediction, reflecting the intention of the punctuation correction. Therefore, since both criteria for correct prediction are satisfied, the prediction is considered accurate."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, which matches exactly, satisfying the requirement for edit type accuracy. Secondly, the predicted text content accurately represents the core change from 'howling over' to 'howling, over', maintaining the integrity of the change shown in the ground truth. Therefore, the essential edit of adding a comma after 'howling' is correctly captured. Both criteria of edit type and text content are met, validating that the prediction is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit meets both evaluation criteria as specified. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit specify the type as 'punctuation'. This matches exactly, confirming that the edit type is accurate. \n\n2. Text Content Accuracy: The essential change in both the ground truth and predicted edit is the insertion of a comma in 'yonder to-day,' changing it to 'yonder, to-day'. The prediction correctly captures this core change. There is no discrepancy between the ground truth and prediction in terms of the text change. Both versions reflect exactly the same alteration, confirming the text content accuracy.\n\nSince both criteria are perfectly satisfied, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit on two main criteria. First, the edit type is 'punctuation' for both predicted and ground truth, indicating they are both of the same intended modification type. Second, the text content accuracy criterion is met because the core change, which is the insertion of a comma after 'pockets' in the phrase 'pockets and', is correctly reflected in both the predicted and ground truth edit. While the line number differs, the instruction was to ignore line numbers, and therefore the prediction correctly reflects the intended punctuation edit without any discrepancies concerning the actual text change."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir, is",
            "corrected_text": "sir; is",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:21:22.472211",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:31:24.265601",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit accurately based on both criteria. \n\n1. Edit Type Accuracy: The edit type is labeled as 'punctuation' in both the ground truth and the predicted edit, indicating a correct classification of the type of change made. \n\n2. Text Content Accuracy: The original text 'yonder to-day' and the corrected text 'yonder, to-day' are both identical in the ground truth and the prediction. This shows that the CORE change, the addition of a comma after 'yonder', is correctly captured in the prediction. Therefore, the prediction accurately reflects the intention of the ground truth edit. \n\nSince both the edit type and the text content align precisely with the ground truth, the prediction is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly matches the ground truth edit based on both evaluation criteria. \n\n1. Edit Type Accuracy: The edit type in both the prediction and ground truth is 'punctuation'. This matches exactly, satisfying the requirement for edit type accuracy.\n\n2. Text Content Accuracy: The core change identified by both the ground truth and the prediction is the insertion of a comma between 'pockets' and 'and', transforming 'pockets and' into 'pockets, and'. The predicted edit captures this change accurately, which means the essential modification is correctly reflected.\n\nAs both the type and the actual change in text are correct, the prediction is deemed correct."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:21:53.602736",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:00:04.680135",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. For 'Edit Type Accuracy,' both the ground truth and the predicted edit identify the change as a 'punctuation' edit, and they are consistent in this categorization. For 'Text Content Accuracy,' the specific change from 'yonder to-day' to 'yonder, to-day' is accurately reproduced in the predicted edit. This captures the core punctuation change of adding a comma after 'yonder,' as intended in the ground truth. Therefore, the prediction is correct as it matches both the type and the essential text content change stipulated by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is correct based on the given criteria. \n\n1. **Edit Type Accuracy:** \n   - The edit type in the predicted edit is 'capitalization', which matches exactly with the ground truth edit type. Therefore, the edit type is accurately captured.\n\n2. **Text Content Accuracy:** \n   - Both the ground truth and the predicted edit involve changing 'Sir' to 'sir', capturing the essential change in capitalization. \n   - There are no additional words included in either the original or corrected text in the predicted edit that diverge from the core change identified in the ground truth.\n\nSince both the edit type and the core textual change match the ground truth, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": ",",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:22:18.017621",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:16:21.441474",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the type as 'capitalization,' which matches the ground truth edit type. For text content accuracy, the ground truth corrects the phrase 'why did he dine' to 'Why did he dine,' with the core change being the capitalization of the first word 'why' to 'Why.' The predicted edit focuses on this core change by specifying the change from 'why' to 'Why,' leaving out the surrounding context. Both criteria are satisfied as the essential capitalization change is accurately captured in the prediction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"",
            "corrected_text": "'",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"",
            "corrected_text": "'",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:22:49.881394",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T01:18:55.961869",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "why",
            "corrected_text": "\"why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones!\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:23:15.132111",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:03:27.271028",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captured the intended changes as specified in the ground truth. For Edit Type Accuracy, both the ground truth and the predicted edit identified the change as 'capitalization,' which matches exactly. For Text Content Accuracy, the core change in the ground truth was capitalizing the first word 'why' to 'Why.' The predicted edit also identified the essential capitalization change from 'why' to 'Why.' Although the predicted edit isolated just the single word rather than the whole phrase 'why did he dine,' it still effectively captured the required capitalization change. Since both the edit type and the essential text content change were identified correctly, the prediction is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit. For Edit Type Accuracy, both the ground truth and the predicted edit have the same type of edit, which is 'punctuation'. This matches the requirement exactly. For Text Content Accuracy, the essential change is transforming the punctuation from an exclamation mark '!' to a question mark '?'. The ground truth specifies the change in the phrase 'cold stones!', whereas the prediction specifies 'stones!'. Despite the additional word 'cold' in the ground truth, the core improvement (the change in punctuation) is correctly captured in the predicted edit. Therefore, the prediction accurately reflects the required correction and is considered correct."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:23:45.483801",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:18:48.021286",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in terms of both edit type and text content. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit identify the change as a 'capitalization' change. Therefore, this criterion is satisfied. \n\n2. Text Content Accuracy: The core change identified in the ground truth is the capitalization of 'if' to 'If'. The predicted edit captures this same core change. While the ground truth includes 'he' for additional context, the essential edit which is the capitalization of 'if' is accurately identified by the prediction. The additional words in the ground truth (specifically 'he') do not affect the correctness of the core edit, which is correctly recognized as changing 'if' to 'If'. \n\nThus, the predicted edit correctly captures the intention of the ground truth action."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in terms of edit type and essential text content. \n\n1. Edit Type Accuracy: Both the ground truth and the prediction identify the edit type as 'replacement.' This is a correct match as there is no discrepancy in the classification of the type of edit between the two.\n\n2. Text Content Accuracy: The core change in both the ground truth and prediction is 'said' being replaced by 'asked.' The prediction captures this essential change even though it does not include the additional contextual word 'Clennam' in its identified original and corrected texts. The essential transformation of 'said' to 'asked' is accurately captured, which aligns with the objective of the editorial correction. \n\nTherefore, the prediction is considered correct as it fulfills both evaluation criteria."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:24:14.005566",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:37:09.440539",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit and the ground truth edit both specify 'capitalization' as the edit type, which matches exactly and satisfies the Edit Type Accuracy criterion. For Text Content Accuracy, both edits capture the core change of capitalizing the word 'if' to 'If', which is the essential change indicated in the ground truth. Although the ground truth includes additional context by listing 'if he' as the original text while the prediction lists just 'if', the essential change\u2014capitalization of the word 'if'\u2014is accurately and effectively captured by the prediction. Therefore, both criteria are met, and the predicted edit is deemed correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and predicted edit share the same type of edit, which is a 'replacement'. Therefore, the edit type accuracy criterion is satisfied. \n\n2. Text Content Accuracy: The core change identified in the ground truth is the conversion from 'said' to 'asked'. The predicted edit successfully captures this essential change. While the context in the ground truth includes 'Clennam', the core replacement targeted by the prediction aligns with the desired modification by converting 'said' to 'asked'. Therefore, the text content accuracy criterion is also satisfied. \n\nBoth criteria are met, so the prediction is deemed correct."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:24:41.990881",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:05:50.102358",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the 'capitalization' type, which matches the ground truth edit type. Regarding the text content accuracy, the ground truth specifies the change from 'if he' to 'If he', focusing on capitalizing the first word 'if' to 'If'. The prediction specifies the change from 'if' to 'If', which also correctly highlights the core change of capitalizing 'if'. Although the ground truth includes the additional word 'he' in the context, the essential edit is the capitalization of 'if', and the prediction successfully captures this. Therefore, both the edit type and the text content accuracy check are satisfied."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:25:15.008333",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:21:53.402485",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches exactly with the ground truth edit type 'punctuation'. This criterion is satisfied. 2. Text Content Accuracy: The ground truth indicates a change from 'high road' to 'high-road'. The predicted edit captures the same core change, accurately reflecting 'high road' to 'high-road'. There is no additional context that affects the core change. Therefore, the text content accuracy criterion is also satisfied. Overall, both criteria are met, so the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria laid out for evaluation. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, so the edit type accuracy criterion is fully satisfied. Secondly, the text content accuracy criterion requires that the core change identified in the ground truth is captured in the prediction. The ground truth edit shows a correction from 'about and' to 'about, and', and the predicted edit accurately reflects this change by including the comma after 'about'. Thus, the primary modification, which is the insertion of a comma, is correctly captured. Therefore, both the edit type and the core textual change align perfectly between the ground truth and the predicted edit, confirming the prediction as correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The evaluation consists of two main criteria: Edit Type Accuracy and Text Content Accuracy. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit have the type 'punctuation'. There is an exact match, which satisfies the criteria for edit type accuracy. \n\n2. Text Content Accuracy: The core correction intended by the ground truth is to add a comma after 'Clennam' in the phrase 'Clennam in', converting it to 'Clennam, in'. The predicted edit correctly captures this exact change from 'Clennam in' to 'Clennam, in'. There are no additional changes or errors. \n\nGiven that both criteria are met, the predicted edit is accurate according to the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:25:54.953855",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:39:19.372963",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria specified. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit are categorized as 'punctuation'. This indicates that the nature of the correction, focusing on adjusting punctuation within the text, is accurately represented in both.\n\n2. Text Content Accuracy: The change specified in both the ground truth and the prediction involves altering 'high road' to 'high-road'. This correction focuses on the addition of a hyphen between 'high' and 'road'. Both the ground truth and predicted edit accurately capture this transformation, confirming that the core textual change is correctly identified. Thus, the predicted edit accurately reflects the intention of the ground truth edit, and is therefore correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about,and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in both criteria: edit type and text content. \n\n1. Edit Type Accuracy: The predicted edit specifies 'punctuation' as the type, which aligns exactly with the ground truth's 'punctuation' edit type. This indicates that, in terms of edit classification, the prediction is correct.\n\n2. Text Content Accuracy: The core change represented in the ground truth is the insertion of a comma in 'about and' to 'about, and'. The predicted edit captures the same core change by transforming 'about,and' to 'about, and'. The minor difference in the original text format ('about and' vs. 'about,and') does not affect the essential change, which is the insertion of the comma. Therefore, the essential edit is captured accurately by the prediction.\n\nGiven these observations, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association",
            "corrected_text": "association,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:26:32.533380",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:08:56.026825",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both key aspects: edit type and text content. Firstly, the edit type 'punctuation' is the same for both the ground truth and the predicted edit, which satisfies the requirement for edit type accuracy. Secondly, the text content change from 'high road' to 'high-road' is accurately captured in the predicted edit, matching the ground truth's core change. Given that both the edit type and the essential change in text are correctly understood and represented, the prediction is correct according to the evaluation criteria."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the type as 'punctuation', which matches the ground truth edit type. For text content accuracy, the ground truth changes 'said when' to 'said, when', indicating the insertion of a comma between 'said' and 'when'. The predicted edit starts with 'said,when' and changes it to 'said, when'. Despite the initial lack of a space after the comma in the original text of the predicted edit, the core change\u2014introducing a space after the comma\u2014is correctly captured, aligning the original and corrected texts with the ground truth intention. Therefore, both criteria for edit type and text content are met, resulting in a correct evaluation."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit on both key criteria. Firstly, the edit type is 'punctuation' for both the ground truth and the prediction, which means the intended change involves adjusting punctuation and they match on this aspect. Secondly, the text content accuracy is maintained as the core change identified in both the ground truth and the prediction is the addition of a comma after the word 'said', changing it from 'said' to 'said,'. Both the ground truth and predicted text indicate the same transformation, and thus the essential edit is correctly captured. Since both criteria are satisfied, the prediction is accurate."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in both criteria. \n\n1. **Edit Type Accuracy**: The edit type in the predicted edit is 'punctuation', which aligns perfectly with the ground truth edit type of 'punctuation'. Thus, the edit type requirement is satisfied.\n\n2. **Text Content Accuracy**: The essential change in the ground truth is the insertion of a comma after 'Clennam', changing 'Clennam in' to 'Clennam, in'. The predicted edit captures this core change by altering 'Clennam' to 'Clennam,'. While the predicted edit does not mention 'in', it correctly identifies the essential punctuation change. Therefore, the text content change is accurately captured.\n\nIn conclusion, as both the edit type and the core textual change are correctly addressed by the prediction, the edit is considered accurate."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion,did",
            "corrected_text": "tion, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about,and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:26:58.122010",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:23:11.695779",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:27:23.864632",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T01:19:43.332982",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:27:48.245512",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:10:06.761737",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:28:29.489201",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:26:33.968953",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit. Firstly, the edit type is 'replacement' in both the ground truth and the predicted edit, satisfying the Edit Type Accuracy requirement. Secondly, with regard to Text Content Accuracy, both the original text 'Saone' and the corrected text 'Sa\u00f4ne' in the prediction match the ground truth exactly. The core change involving replacing 'Saone' with 'Sa\u00f4ne' is correctly captured by the prediction. Therefore, the predicted edit is correct as it meets both criteria, ensuring the change is identified and executed as intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit. First, the edit type matches exactly; both are classified as 'replacement', indicating a substitution of text. This satisfies the Edit Type Accuracy criterion. Second, the Text Content Accuracy is achieved as well: the original text 'Saone' is correctly identified in both the ground truth and predicted edits, and the corrected text 'Sa\u00f4ne' is accurately reflected in the predicted edit. The core change, specifically the substitution of 'Saone' with 'Sa\u00f4ne' (adding the circumflex accent on the 'o'), is precise and matches the ground truth. Therefore, both criteria are met, confirming the prediction is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Both the predicted edit and the ground truth edit have correctly identified the edit type as 'punctuation', which matches exactly. Regarding text content accuracy, both the ground truth and the prediction specify the change from 'man slowly' to 'man, slowly', which captures the core change of adding a comma after 'man'. Since both the edit type and the essential text content change are correctly captured by the predicted edit, it aligns perfectly with the ground truth's intention. Therefore, the predicted edit is correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "long heavy",
            "corrected_text": "long, heavy",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ",",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "ed",
            "corrected_text": "",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:28:56.622080",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:43:24.152913",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the evaluation criteria. \n\n1. Edit Type Accuracy: The predicted edit type is 'replacement', which matches the ground truth edit type. Since the types are identical, the predicted edit meets the requirement for edit type accuracy. \n\n2. Text Content Accuracy: The prediction identifies the core change from 'sodden' to 'soddened', which is precisely what the ground truth specifies. The essential alteration of adding 'ed' to the word 'sodden' is accurately captured in the predicted edit. \n\nThus, both the edit type and text content accuracy are in alignment with the ground truth, leading to a correct prediction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone it",
            "corrected_text": "Saone, it",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:29:38.683984",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:13:36.898053",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit in both required dimensions of evaluation. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit specify the edit type as 'replacement,' which exactly matches, fulfilling the requirement for edit type accuracy.\n\n2. Text Content Accuracy: In both the ground truth and predicted edits, the original text 'Saone' is replaced with 'Sa\u00f4ne.' The core change involving the inclusion of the circumflex accent in the word is correctly captured in the prediction. Since the focus is on the essential edit, and both 'original_text' and 'corrected_text' fields are identical between the ground truth and the prediction, the text content accuracy is also maintained.\n\nConsidering both criteria being met satisfactorily, the predicted edit aligns perfectly with the ground truth edit's intentions."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The evaluation of the predicted edit against the ground truth edit involves two main criteria: Edit Type Accuracy and Text Content Accuracy. \n\n1. **Edit Type Accuracy:** The type specified in both the ground truth and predicted edit is 'replacement'. There is an exact match between the stated edit types, satisfying this criterion.\n\n2. **Text Content Accuracy:** The ground truth specifies a correction of the word 'Saone' to 'Sa\u00f4ne', indicating the addition of a circumflex accent over the 'o'. The predicted edit also specifies changing 'Saone' to 'Sa\u00f4ne', accurately capturing this core change. The essential edit, which is adding the circumflex accent, is correctly identified and reproduced in the prediction.\n\nAs both criteria are met, the predicted edit perfectly aligns with the ground truth, thus making it correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ",",
            "corrected_text": ".",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:30:08.148898",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:30:16.193246",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "And,",
            "corrected_text": "And",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart",
            "corrected_text": "heart,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:30:48.140743",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:49:29.796337",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit. Firstly, the edit type is 'punctuation' in both cases, which meets the requirement for Edit Type Accuracy. Secondly, regarding Text Content Accuracy, the core change from the original text 'heart so' to the corrected text 'heart, so' is identical in both the ground truth and predicted edit. The insertion of a comma between 'heart' and 'so' is correctly identified and applied, meaning that the essential punctuation change is accurately captured. Since both criteria are satisfied, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit accurately in both criteria. \n\n1. Edit Type Accuracy: Both the ground truth and predicted edit specify 'punctuation' as the type of edit. This suggests that the nature of the change is correctly identified as a punctuation-related correction. \n\n2. Text Content Accuracy: The ground truth and the prediction both focus on the same text change from 'length said' to 'length, said'. The core change, which is the addition of a comma after 'length', is accurately captured in the prediction. Even if additional text context were included, the essential change would still be correctly represented. \n\nBoth criteria are met, confirming the predicted edit captures the ground truth's intention correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately matches the ground truth in both criteria. \n\n1. **Edit Type Accuracy**: The predicted edit type is 'replacement', which matches the ground truth edit type. Therefore, it fulfills the requirement for matching the edit type exactly.\n\n2. **Text Content Accuracy**: The core change involved in both the ground truth and the prediction is the transformation from 'hope' to 'hoped'. Although the ground truth includes additional context ('I hope so' to 'I hoped so'), the essential change\u2014the verb tense alteration from present to past\u2014is correctly captured by the prediction. The focus is on identifying the essential transformation of 'hope' to 'hoped', which the prediction does correctly, making it consistent with the ground truth's intention.\n\nSince both the type and the core content of the change align with the ground truth, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "some",
            "corrected_text": "",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:31:17.367768",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:16:41.024127",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "became in",
            "corrected_text": "became, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart",
            "corrected_text": "heart indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "(as she did, if it be the source of earnestness),",
            "corrected_text": "",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:31:47.828552",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:33:23.705818",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the type and content of the correction in the ground truth. Both the ground truth and predicted edits are of the 'punctuation' type, accurately reflecting the necessary alteration. Additionally, the text content accuracy is upheld as both show the transformation from 'hers matters' to 'hers, matters', capturing the inclusion of the comma. Ignoring line numbers and focusing solely on the type and text, the prediction matches the essential correction the ground truth specifies, thereby meeting all evaluation criteria."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Both the predicted and ground truth edits have the same edit type, 'punctuation'. Additionally, the text content change is accurately captured in the prediction. The core change involves adding a comma after the word 'moment', changing the text from 'moment with' to 'moment, with'. Since both the edit type and the essential text change are correctly identified, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit accurately on both criteria. Firstly, the edit type is exactly the same as the ground truth, labeled as 'punctuation', which indicates that the punctuation modification is correctly identified. Secondly, the text content change is identical in both the predicted and ground truth edits: the insertion of a comma between 'beautiful' and 'that'. The core change from 'beautiful that' to 'beautiful, that' is correctly identified by the prediction, fulfilling the essential edit requirement. Therefore, the prediction is correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately matches the ground truth in both the edit type and the text content. The edit type is 'capitalization' in both cases, which aligns perfectly. Furthermore, the text content accuracy is also maintained as the core change from 'they' to 'They' is correctly captured in both the ground truth and the prediction. There are no discrepancies in the essential edit, and thus the prediction fully aligns with the ground truth\u2019s intention. Additional context is not present, but it is not necessary given the nature of the correction. Therefore, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "which \u2014 that",
            "corrected_text": "which\u2014that",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:32:26.812512",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:54:17.138533",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both type and content. \n\n1. Edit Type Accuracy: The type of edit in both the ground truth and the prediction is 'punctuation'. This matches exactly, so the edit type is correct.\n\n2. Text Content Accuracy: The textual change identified in both the ground truth and the prediction is from 'hers and' to 'hers, and'. The core change, which is the addition of a comma after 'hers', is correctly captured in the prediction. \n\nAs both the edit type and the text content accurately match the ground truth's intention, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both key criteria. The edit type is labeled as 'punctuation' in both cases, which is the correct classification for the insertion of a comma. Additionally, the text content accuracy is maintained as both the original and the corrected text in the prediction are exactly the same as those in the ground truth. The core change from 'hers matters' to 'hers, matters' is correctly captured in the predicted edit, fulfilling both requirements for a correct evaluation."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is correct because it meets both criteria required for accuracy. Firstly, the edit type matches exactly; both the ground truth and the prediction identify the edit as a 'punctuation' type. Secondly, the text content accuracy is satisfied as well. Both the ground truth and the predicted edit indicate the essential change from 'moment with' to 'moment, with'. The core change, which is the insertion of a comma after 'moment', is correctly captured. Although both versions display the same surrounding text, the primary focus is on the accurate representation of the change, which has been successfully achieved in the prediction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria evaluated. \n\n1. Edit Type Accuracy: \n   - The edit type in both the ground truth and the predicted edit is 'punctuation'. Therefore, they match exactly. \n\n2. Text Content Accuracy: \n   - The core change in text content is the addition of a comma: 'beautiful that' is corrected to 'beautiful, that'. Both the ground truth and predicted edit capture this punctuation change accurately. Since the essential change is correctly identified in both the original and corrected texts, the prediction aligns with the ground truth.\n\nSince both the edit type and text content match the ground truth's intention, the prediction is considered correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in both edit type and text content. For Edit Type Accuracy, both the ground truth and the prediction have the edit type as 'capitalization', which matches perfectly. For Text Content Accuracy, the core change is the capitalization of the word 'they' to 'They'. The predicted edit captures this exact change, mirroring the core alteration identified in the ground truth. Additionally, both versions refer to the same page and disregard the specific line number as instructed. Therefore, the prediction is entirely correct as per the evaluation criteria."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:33:00.947304",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:18:29.364079",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both the type and the text content. The edit type 'punctuation' is exactly the same in both the ground truth and the predicted edit. The text content focuses on the addition of a comma after 'hers' to change 'hers and' to 'hers, and'. Both the ground truth and the prediction reflect this same core change accurately, regardless of any additional context. Hence, the predicted edit fulfills both criteria for correctness: the edit type matches, and the essential text change is captured precisely as intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is evaluated based on two criteria: Edit Type Accuracy and Text Content Accuracy. For Edit Type Accuracy, both the ground truth and the predicted edit classify the change as a 'punctuation' edit. This matches exactly, so the edit type is correct. For Text Content Accuracy, the ground truth indicates the original text 'hers matters' should be corrected to 'hers, matters'. The predicted edit exactly mirrors this text change with 'hers matters' becoming 'hers, matters'. Therefore, the core change in punctuation is accurately captured. Because both the edit type and the text content criteria are satisfied, the predicted edit is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both the essential criteria: edit type and text content accuracy. \n\n1. Edit Type Accuracy: Both the predicted and ground truth edits are of type 'punctuation.' This matches exactly, fulfilling the requirement for edit type accuracy. \n\n2. Text Content Accuracy: The core change is the insertion of a comma after the word 'moment' to correct the text from 'moment with' to 'moment, with.' The prediction captures this change precisely, addressing the punctuation correction intended by the ground truth. \n\nSince both criteria are satisfied, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in both critical aspects required for an accurate classification. \n\n1. Edit Type Accuracy: The predicted edit type is 'punctuation', which exactly matches the ground truth's type. This alignment means the prediction correctly understood the nature of the edit being related to punctuation. \n\n2. Text Content Accuracy: The core change, to insert a comma in the phrase 'beautiful that' making it 'beautiful, that', is precisely captured in both the predicted and ground truth edits. Even if the prediction included more or less context, the essential change of adding a comma is accurately identified in both the original and corrected text portions. \n\nGiven these considerations, the prediction correctly interprets the core editorial change intended by the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit on both the edit type and the text content. The edit type is 'capitalization' in both cases, indicating that the change pertains to capitalizing the first letter of the word. The original and corrected texts match exactly in both the ground truth and the prediction, with the correction of 'they' to 'They'. Therefore, the prediction accurately captures the essential change identified by the ground truth."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:33:39.338571",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:36:44.144173",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the criteria provided. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit have the edit type as 'replacement'. This is an exact match, satisfying the requirement that the edit types must align exactly. \n\n2. Text Content Accuracy: The essential change in both edits is the replacement of 'that' with 'than'. The predicted edit captures this core change accurately, which aligns with the ground truth's intent. Additional context or line numbers are ignored per instructions, and thus do not affect the correctness of the predicted edit. \n\nSince both the edit type and text content accurately reflect the ground truth's intention, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore,",
            "corrected_text": "shore",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:34:15.858344",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T01:00:35.495898",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly matches the ground truth edit in terms of edit type and text content. Both specify the change type as 'punctuation', indicating the intent to modify punctuation. The core textual change in both predictions is the addition of a comma after 'Thank you'. While the original text in the ground truth includes an exclamation mark ('Thank you!') and the prediction does not ('Thank you'), the key focus is whether the prediction captures the introduction of the comma. In terms of content, the essential edit required, which is adding a comma after 'Thank you', is accurately identified by the prediction. Thus, the prediction aligns with the intention of the ground truth, despite the slight variation in the original text context."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit and the ground truth edit both specify the type as 'punctuation', which matches exactly. Additionally, the text content accuracy criterion is met because the essential change from 'shore and' to 'shore, and' is correctly identified by both the predicted edit and the ground truth. The core change involves the insertion of a comma, which is accurately captured in the predicted edit, notwithstanding the difference in line number, which is to be ignored in this evaluation. Therefore, both criteria for evaluation are satisfied, confirming the accuracy of the prediction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit matches the ground truth edit in both key areas of evaluation. \n\n1. Edit Type Accuracy: The type of edit is 'replacement' for both the ground truth and the prediction. This indicates that the prediction correctly identifies that a replacement needs to occur, thus meeting this criterion. \n\n2. Text Content Accuracy: The core change identified by the ground truth is a replacement of 'that' with 'than'. The predicted edit accurately captures this same essential change, replacing 'that' with 'than' as well. Despite any additional context, such as line numbers or additional text which are to be ignored in this evaluation, the exact replacement matches the ground truth's intention. \n\nTherefore, based on the above analysis, both criteria for a correct prediction are satisfied, and the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:34:50.224769",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:20:27.249772",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit and the ground truth edit both have the same type, 'punctuation', indicating that they are identified as the same category of edit. For text content accuracy, the ground truth edit involves changing 'Thank you!' to 'Thank you,'. The predicted edit identifies 'Thank you' as the original text and correctly changes it to 'Thank you,'. The essential change here is the replacement of or addition after 'Thank you' where a punctuation is shifted from '!' to ','. Although the original text in the prediction omitted the '!', focusing on the corrected text 'Thank you,' shows that the core intention of adding a comma has been captured accurately. Thus, both criteria are satisfied, making the prediction correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both essential criteria. The edit type is 'punctuation' in both the ground truth and prediction, ensuring edit type accuracy. Additionally, the core change in text content is 'shore and' to 'shore, and' in both cases. The essential edit, which is the insertion of a comma, is correctly captured in the prediction. Therefore, the prediction accurately captures the intention of the ground truth edit in terms of both edit type and text content."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit perfectly in terms of both criteria. Firstly, the 'Edit Type Accuracy' is satisfied because both the ground truth and the predicted edit specify a 'replacement' type. Secondly, the 'Text Content Accuracy' is also met because the core change from 'that' to 'than' is correctly identified in both the ground truth and the prediction. The original and corrected texts in the prediction exactly match those in the ground truth, capturing the essential edit without any discrepancies. Since both the edit type and the text content are accurate in the prediction, the predicted edit is considered fully correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:35:26.480389",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:40:02.067491",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both essential criteria. First, the Edit Type Accuracy is satisfied because both the ground truth and predicted edits are classified as 'capitalization'. This edit type requires changing the case of a letter, and both texts reflect this requirement. Second, the Text Content Accuracy is also matched because the change in text content is identical. The original text 'city' is changed to 'City' in both cases, capturing the core change intended by the ground truth. Both edits focus on the capitalization of the first letter of the word 'city', which is essential to the correction process. Since both criteria are met accurately, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is considered correct. Firstly, the edit type 'punctuation' matches exactly between the ground truth and the prediction, satisfying the criterion for Edit Type Accuracy. Secondly, regarding Text Content Accuracy, the core edit in the ground truth is the addition of a comma after 'existence,' changing 'existence' to 'existence,'. The predicted edit also correctly captures this essential change by transforming 'existence' to 'existence,' even though it includes additional context by referring to 'existence at' instead of just 'existence.' According to the guidelines, the inclusion of additional context does not invalidate the correct capture of the essential edit. Therefore, the prediction accurately reflects the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liegelord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each",
            "corrected_text": "to each",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:36:09.705022",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T01:04:23.151599",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit has successfully captured both the edit type and the text content change as outlined in the ground truth. \n\n1. **Edit Type Accuracy:** \n   - The edit type in both the predicted and ground truth edits is 'capitalization', and they match exactly. Therefore, the edit type criterion is satisfied.\n\n2. **Text Content Accuracy:** \n   - The original text 'city' is correctly transformed to the corrected text 'City', which accurately reflects the core change from lowercase to uppercase. This indicates that the essential change intended by the ground truth has been captured in the prediction.\n\nOverall, since the predicted edit matches both aspects required for accuracy as described, the evaluation results in a correct judgment."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth on both key criteria. Firstly, the edit type is correctly identified as a 'replacement' for both the ground truth and the predicted edit. Secondly, the text content accuracy criterion is also met: the change from 'of' to 'to' is exactly the same in both the ground truth and predicted edits. There is no discrepancy in the core change intended by the ground truth. Therefore, the prediction is considered correct as it fully aligns with the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit by meeting both required criteria. Firstly, the edit type 'punctuation' is an exact match between the ground truth and the prediction, satisfying the Edit Type Accuracy requirement. Secondly, for Text Content Accuracy, the essential change involves adding a comma to the word 'existence'. The prediction makes the same core alteration by suggesting 'existence' be changed to 'existence,'. Thus, it accurately reflects the fundamental punctuation change anticipated in the ground truth without any discrepancies. As both criteria are satisfied, the predicted edit is deemed correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the provided criteria. Firstly, the edit type is the same for both the ground truth and the prediction: 'punctuation'. This matches exactly, meeting the requirement for edit type accuracy. Secondly, the text content accuracy is also fulfilled because the core change from 'view' to 'view,' is the same in both the ground truth and the prediction. The essential edit, which is the addition of a comma after the word 'view', has been correctly captured. This evaluation is not concerned with line numbers, and since both the type and text change align perfectly with the ground truth, the prediction is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:36:43.833860",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:22:06.715431",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. Firstly, the edit type 'capitalization' in the predicted edit is identical to the ground truth, satisfying the requirement for matching edit types. Secondly, the text content is accurately captured: both the original text 'city' and the corrected text 'City' are exactly the same in the prediction as in the ground truth. The essential change, which is capitalizing the word 'city' to 'City', is accurately captured by the prediction, aligning perfectly with the intent of the ground truth edit. Since both criteria are met, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in terms of edit type, as both are 'replacement'. Text content accuracy is also met. The core change intended by the ground truth is replacing 'of' with 'to'. The prediction captures this essential change within the phrase 'return of' to 'return to'. The additional context included in the prediction does not affect the accuracy, as the central change intended by the ground truth (replacing 'of' with 'to') is clearly preserved."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit meets both the required criteria. \n\n1. Edit Type Accuracy: The predicted edit and the ground truth edit both specify the type as 'punctuation'. This is an exact match, so the criterion is satisfied.\n\n2. Text Content Accuracy: The core change in the text is from 'existence' to 'existence,'. The predicted edit captures this specific change. While it includes additional context ('existence at' \u2192 'existence, at'), the essential alteration, which is the addition of a comma after 'existence,' is accurately reflected. The additional context does not alter the core change intention specified by the ground truth, so this criterion is also satisfied.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is evaluated based on two criteria: edit type accuracy and text content accuracy. \n\n1. **Edit Type Accuracy**: Both the ground truth and predicted edits have the type 'punctuation'. This matches exactly, fulfilling the requirement for edit type.\n\n2. **Text Content Accuracy**: The ground truth edit involves changing 'view' to 'view,'. The predicted edit changes 'view by' to 'view, by', which captures the same core punctuation change: the insertion of a comma after 'view'. While the prediction includes additional words 'by', it accurately reflects the same dedication towards adding a comma after 'view'. Thus, the essential modification has been correctly identified and implemented.\n\nOverall, the predicted edit satisfies both the criteria set forth: it has the correct edit type and captures the core textual change accurately. Therefore, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:37:20.109014",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:44:15.988074",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the edit type as 'italicize,' which matches the ground truth edit type. Regarding text content accuracy, the core change in the ground truth is italicizing 'him.' The predicted edit captures this by including the same word 'him' for italicization, even though it includes additional context with the surrounding words 'benevolence bubbling out of.' Since it successfully identifies the essential text to be italicized ('him'), while containing additional non-essential text, the prediction matches the ground truth intentions. Therefore, both the edit type and core change are accurately captured in the prediction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is correct based on the criteria provided. \n\n1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'replacement'. This matches exactly, fulfilling the requirement for this criterion. \n\n2. Text Content Accuracy: The predicted edit shows the replacement of 'authorize' with 'authorise', which perfectly captures the core change identified in the ground truth. Both the original and corrected texts match exactly between the ground truth and predicted edit. Since both criteria are met, the prediction is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "series",
            "corrected_text": "series of",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "the",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:37:56.852093",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T01:08:41.565486",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the type of edit as 'italicize,' matching the ground truth. Both ground truth and predicted edits involve italicizing text, which ensures edit type accuracy. For text content accuracy, the ground truth focuses on italicizing the word 'him,' while the prediction includes the broader context 'benevolence bubbling out of him,' encompassing the specific word being italicized. Although the prediction provides additional context, it accurately captures the core change noted in the ground truth by italicizing 'him.' Thus, both criteria for a correct evaluation are met, making the prediction accurate."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the ground truth edit based on the specified criteria. For Edit Type Accuracy, both the predicted edit and the ground truth edit are of type 'replacement', indicating a direct substitution of text, which matches exactly. Regarding Text Content Accuracy, the core change identified by the ground truth edit is the replacement of 'authorize' with 'authorise'. The predicted edit makes the exact same change, capturing the essential part of the edit accurately. Since both criteria\u2014Edit Type Accuracy and Text Content Accuracy\u2014are met, the predicted edit is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "the",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:38:28.782642",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:24:04.459050",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 28,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly identifies the edit type as 'italicize', which matches the ground truth edit type. Regarding text content accuracy, the predicted edit includes the full phrase 'benevolence bubbling out of him' instead of just 'him'. However, it retains the italicization change intended for 'him', which is the core change identified in the ground truth. This inclusion of additional context does not alter the intended italicization of 'him'. Therefore, since both the edit type and the essential text change align with the ground truth, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 32,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Both the predicted and ground truth edits have the same type: 'punctuation', so the Edit Type Accuracy requirement is satisfied. In terms of Text Content Accuracy, the core change from 'now I' to 'now, I' is accurately captured in the prediction. The predicted text content reflects the same essential change as indicated by the ground truth. As line numbers are disregarded for this evaluation, they do not affect the correctness of the prediction. Therefore, both the edit type and text content of the predicted edit match the ground truth, validating the prediction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 35,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit despite the difference in line numbers, which we are ignoring for this evaluation. Both the ground truth and the prediction have the same 'replacement' edit type, which matches the requirement that the edit types must be exactly the same. Furthermore, the 'original_text' of 'authorize' and the 'corrected_text' of 'authorise' are identical in both the ground truth and the predicted edit, capturing the core change intended. Since both the edit type and text content match, the prediction is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boiling over",
            "corrected_text": "boiling-over",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:38:56.178590",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-17T23:47:22.872811",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "x",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:39:27.162851",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T01:12:34.984594",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "never",
            "corrected_text": "never,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "x",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me",
            "corrected_text": "me,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5",
        "date": "2026-02-18T01:39:58.336186",
        "annotator": "GPT-5",
        "annotation_date": "2026-02-18T00:25:48.227292",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "morning;",
            "corrected_text": "morning,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and,",
            "corrected_text": "and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For,",
            "corrected_text": "For",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly,",
            "corrected_text": "quickly",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me,",
            "corrected_text": "me;",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2025-08-07",
    "release_source": "https://openai.com/index/introducing-gpt-5/"
  },
  {
    "model_name": "GPT-5.2 (OR)",
    "model_id": "or_openai_gpt_5_2",
    "date": "2026-02-22T13:35:56.442481",
    "shots": 2,
    "config": {
      "model_id": "or_openai_gpt_5_2",
      "display_name": "GPT-5.2 (OR)",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-02-22",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-5.2 (OR)",
    "annotation_date": "2026-02-22T13:29:13.465175",
    "file_results": [
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:13.577874",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:29:13.465175",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit on both criteria. First, the edit type is 'punctuation' in both the ground truth and the prediction, satisfying the requirement for Edit Type Accuracy. Second, the Text Content Accuracy criterion is met because the core change of adding a period after 'Fellow Travellers' is accurately captured in both the original and corrected text fields of the prediction. The essential and specific modification ('Fellow Travellers' \u2192 'Fellow Travellers.') is correctly identified. Therefore, the prediction's representation of the change aligns entirely with the intention reflected in the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The evaluation criterion requires that both the edit type and the text content match the ground truth. In this case, both criteria are satisfied: 1. **Edit Type Accuracy**: The predicted edit type is 'punctuation', which matches exactly with the ground truth edit type 'punctuation'. There is no discrepancy here, making the edit type accurate. 2. **Text Content Accuracy**: The original and corrected text in the predicted edit are 'howling over' and 'howling, over', respectively. This aligns precisely with the ground truth's 'original_text' and 'corrected_text'. The core change identified - the addition of a comma after 'howling' - is accurately captured in the corrected text. Since both the type and the content of the edit in the prediction match the ground truth perfectly, the overall prediction is deemed correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit by meeting both key criteria. Firstly, the Edit Type Accuracy is satisfied because both the ground truth and the predicted edit identify the edit as a 'capitalization' type. Secondly, the Text Content Accuracy criterion is met as the core change of transforming 'Sir' to 'sir' is correctly identified in both the original and predicted edits. The essential transformation of changing the capitalization of a word is maintained consistently across both the ground truth and predicted outputs, thereby ensuring the correct outcome. Since both criteria are satisfied, the prediction is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both key evaluation factors. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, satisfying the requirement for the edit types to match exactly. Secondly, the text content accuracy is confirmed as both the ground truth and the prediction correctly identify the core change, which is the insertion of a comma in 'pockets and' to make it 'pockets, and'. The essential change of adding a comma is captured accurately. Since both the edit type and the text content match, the prediction is considered correct."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:09.885470",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:29:18.966056",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in both criteria. Firstly, the edit type in both the ground truth and the prediction is 'punctuation', which is an exact match, satisfying the Edit Type Accuracy requirement. Secondly, the Text Content Accuracy is also fulfilled as both the ground truth and predicted edits indicate the addition of a period after 'Fellow Travellers', changing it from 'Fellow Travellers' to 'Fellow Travellers.'. The core change intended by the ground truth is accurately captured in the prediction. Thus, the prediction successfully replicates the intention of the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. First, the edit type 'capitalization' is exactly the same in both the ground truth and predicted edit, satisfying the requirement for the edit type accuracy. Second, the core change specified in the text content also aligns perfectly, with both the ground truth and the prediction indicating a change from 'Sir' to 'sir'. Since the essential change is accurately captured (changing the capitalization of the term 'Sir' to 'sir'), the text content accuracy criterion is also met. Therefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit both in terms of type and content. \n\n1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation'. This is an exact match, fulfilling the requirement for edit type accuracy.\n\n2. Text Content Accuracy: The essential change described in both the ground truth and the predicted edit is the insertion of a comma, transforming 'pockets and' into 'pockets, and'. The core change is accurately captured in the prediction, satisfying the requirement for text content accuracy.\n\nSince both criteria are correctly matched, the prediction is considered correct."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:10.607378",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:29:01.528517",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. Firstly, the 'type' of edit is identical in both the predicted and ground truth edits, as both are categorized under 'punctuation'. Secondly, for the text content accuracy, both the ground truth and the predicted edit identify the core change required: adding a comma after 'howling', in 'howling over' to form 'howling, over'. The correction of inserting the comma is precisely captured in the predicted edit. Therefore, since both the edit type and the essential text content change are accurately aligned with the ground truth, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit in both evaluated criteria: \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edits specify the type as 'punctuation', which is an exact match. Therefore, the edit type is accurate.\n\n2. Text Content Accuracy: The core change in the ground truth is adding a comma to change 'pockets and' to 'pockets, and'. The predicted edit also captures this change accurately, indicating the same transformation of the text by inserting a comma between 'pockets' and 'and'. Thus, the essential edit required by the ground truth is effectively captured in the prediction. \n\nSince both the edit type and the text content match accurately, the prediction is considered correct."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:06.963473",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:28:59.819068",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the edit type as 'capitalization', which matches the ground truth edit type. In terms of text content accuracy, the prediction captures the core change that the ground truth identifies, which is the capitalization of the word 'why'. The ground truth identifies the full original text as 'why did he dine' changing to 'Why did he dine', while the prediction only mentions the capitalization of 'why' to 'Why'. The essential change, which is the capitalization of the first word, is accurately captured in the prediction. Therefore, the predicted edit is correct according to both edit type accuracy and text content accuracy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "!",
            "corrected_text": "?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the edit type as 'punctuation,' which matches the ground truth edit type. For text content accuracy, the essential change in the punctuation from '!' to '?' is accurately captured in the predicted edit. While the ground truth specifies the full phrase 'cold stones!' to 'cold stones?', the core change is in the punctuation mark. The predicted edit lists the specific change from '!' to '?', which correctly captures the intended punctuation alteration highlighted in the ground truth. Therefore, since both the edit type and the text content change are accurate, the prediction is deemed correct."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:10.874323",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:29:07.727161",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the evaluation criteria. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit have the type 'capitalization', which exactly matches. Therefore, the edit type criterion is satisfied.\n\n2. Text Content Accuracy: The essential change in both the ground truth and predicted edit involves capitalizing the first letter of 'why'. The ground truth mentions 'why did he dine' being corrected to 'Why did he dine', while the prediction indicates 'why' corrected to 'Why'. The prediction focuses on the core change, which is the capitalization of 'why'. Including only 'why' as context does not impact the correctness since the core change of capitalizing 'why' is accurately captured.\n\nSince both criteria for edit type and text content are satisfied, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "!",
            "corrected_text": "?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The evaluation centers around two criteria: Edit Type Accuracy and Text Content Accuracy. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit classify the change as a 'punctuation' edit. This means the edit type matches exactly, satisfying the first criterion.\n\n2. Text Content Accuracy: The core change identified by the ground truth is altering the punctuation from an exclamation mark '!' to a question mark '?'. The prediction focuses on this same change by identifying the original punctuation '!' and the corrected punctuation '?'. Although the ground truth includes some surrounding context ('cold stones!'), the essential change is the punctuation itself, which the prediction captures accurately.\n\nBoth criteria are fulfilled by the predicted edit, making it a correct representation of the ground truth edit."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:11.202585",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:29:30.499573",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "why",
            "corrected_text": "\"why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "!",
            "corrected_text": "?",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:07.578735",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:29:30.500405",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the provided evaluation criteria. \n\n1. **Edit Type Accuracy:** Both the ground truth and the predicted edit specify 'capitalization' as the type of edit. This matches exactly, fulfilling the first criterion. \n\n2. **Text Content Accuracy:** The essential change in both the ground truth and the predicted edit involves capitalizing 'if' to 'If.' Although the ground truth includes 'he' in the context, the core change focuses solely on the word 'if' being capitalized. The prediction captures this essential change correctly, as it identifies the lowercase 'if' and the corrected uppercase 'If.' Including or excluding 'he' from the context does not affect the core change, as the significant action is the capitalization of 'if.' \n\nTherefore, the predicted edit accurately matches the ground truth in both the edit type and the core text content change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. \n\n1. **Edit Type Accuracy**: Both the predicted edit and the ground truth edit specify the type as 'replacement', which matches exactly. Therefore, the edit type is accurate.\n\n2. **Text Content Accuracy**: The ground truth edit indicates a change from 'said Clennam' to 'asked Clennam', focusing on changing 'said' to 'asked'. The predicted edit specifically captures the change from 'said' to 'asked', which is the core change required. Although the predicted edit includes less context ('Clennam' is omitted), the essential change from 'said' to 'asked' is accurately captured. The prediction includes the correct transformation and therefore fulfills the ground truth's intention.\n\nOverall, since both criteria match the ground truth, the prediction is correct."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:15.493986",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:29:23.349529",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is evaluated on two primary criteria: 'Edit Type Accuracy' and 'Text Content Accuracy'.\n\n1. Edit Type Accuracy: The predicted edit and the ground truth edit both specify the type as 'capitalization', indicating that the intention is to change the capitalization of a word in the text. Since the edit type matches exactly, this criterion is satisfied.\n\n2. Text Content Accuracy: The ground truth edit specifies changing 'if he' to 'If he'. The predicted edit specifies changing 'if' to 'If'. The core change both texts are referring to is the capitalization of the initial 'i' in 'if'. The predicted edit captures this essential change. Although it does not explicitly reference the 'he', the primary intention of changing the capitalization is evident in both, and the context is preserved since 'if' is a part of 'if he'.\n\nOverall, both the edit type and text content accurately align with the ground truth\u2019s intention. Therefore, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit correctly identifies the edit type as 'replacement', matching the ground truth. Since the types match exactly, the edit type criterion is satisfied. \n\n2. Text Content Accuracy: The core change in both the ground truth and the prediction involves replacing the word 'said' with 'asked'. The ground truth specifies 'said Clennam' is to be changed to 'asked Clennam', while the prediction specifies 'said' is to change to 'asked'. The essential edit, which is changing 'said' to 'asked', is captured by the prediction. Therefore, the prediction accurately captures the intention of the ground truth in terms of text content, even though it uses a shorter context.\n\nBoth criteria are addressed, and the prediction aligns with the ground truth in both type and content, thus the prediction is correct."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:10.783129",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:29:18.271500",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit and ground truth share the same edit type, 'replacement,' thus fulfilling the criterion for Edit Type Accuracy. For Text Content Accuracy, the core change in both cases is the replacement of the word 'said' with 'asked.' The ground truth mentions the entire phrase 'said Clennam,' while the prediction isolates the word 'said.' However, in alignment with the parameters, the essential change is captured as it highlights the same core alteration in the sentence. Therefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:48.114607",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:30:08.433415",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit based on the evaluation criteria. \n\n1. Edit Type Accuracy: Both the ground truth and predicted edit specify the edit type as 'punctuation'. Since the edit types match exactly, the prediction meets this criterion.\n\n2. Text Content Accuracy: The ground truth and predicted edits involve changing 'high road' to 'high-road'. This represents the core change involving a punctuation alteration (inserting a hyphen). The predicted edit captures this change correctly with additional context matching the ground truth.\n\nGiven that both the edit type and text content correctly match the ground truth's intention, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both the edit type and text content. Firstly, the edit type 'punctuation' is identical in both the predicted and ground truth edits, satisfying the first criterion for edit type accuracy. Secondly, the text content change from 'materials costing' to 'materials, costing' is accurately captured in the predicted edit, which correctly includes the addition of a comma between 'materials' and 'costing'. There is no additional context affecting the core change, and the core change (the insertion of a comma) is represented accurately. Therefore, the prediction satisfies the requirements for both criteria."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Regarding Edit Type Accuracy, both the ground truth and predicted edits have the type 'punctuation,' which matches exactly, satisfying the criterion for edit type matching. For Text Content Accuracy, the core change identified in both the ground truth and predicted edits is the insertion of a comma in 'about and' to make it 'about, and.' The prediction captures this essential core change accurately, even if it includes additional context. As both conditions for evaluation (type and content) have been met, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit in both criteria: \n\n1. **Edit Type Accuracy**: Both the ground truth and the predicted edit have 'punctuation' as the type. This signifies that the nature of the change involves punctuation, thus satisfying the edit type accuracy requirement.\n\n2. **Text Content Accuracy**: The core change identified in both the ground truth and predicted edit is the addition of a comma between 'earnestly' and 'telling', changing 'earnestly telling' to 'earnestly, telling'. This correction is accurately reflected in the prediction, meeting the requirement for text content accuracy. \n\nTherefore, the prediction is correct as it accurately matches the essential change and type as identified in the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in both criteria. \n\n1. Edit Type Accuracy: The type of the edit is 'punctuation' for both the ground truth and the prediction, indicating that the same kind of modification (addition or removal of punctuation) is being performed. Therefore, the edit type matches exactly. \n\n2. Text Content Accuracy: The core change identified by the ground truth is the addition of a comma between 'said' and 'when', turning 'said when' into 'said, when'. The predicted edit captures this same change, modifying the text from 'said when' to 'said, when'. Although additional context is allowed around the core change, in this case, both focus directly on the essential alteration. Hence, the text content accurately reflects the ground truth's intention. \n\nGiven that both the edit type and the text content align perfectly with the ground truth, the prediction is evaluated as correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria required for evaluation. Firstly, the 'edit type' is accurately marked as 'punctuation' in both the ground truth and predicted edits, thus satisfying the requirement for type accuracy. Secondly, the 'text content' shows the same correction: changing 'said' to 'said,'. This indicates the model has correctly captured the essential change as identified by the ground truth, which is the addition of a comma after the word 'said.' Since both the edit type and the core textual change align perfectly with the ground truth, the predicted edit is evaluated as correct."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit accurately in both criteria specified. \n\n1. **Edit Type Accuracy**: Both the ground truth and the predicted edit specify the type as 'punctuation'. This matches exactly, fulfilling the edit type requirement.\n\n2. **Text Content Accuracy**: The ground truth requires changing 'Clennam in' to 'Clennam, in'. The predicted edit also identifies this correction correctly, matching the core change by adding a comma after 'Clennam'. Therefore, the essential edit has been captured accurately.\n\nSince both the edit type and the core textual change align with the ground truth, the prediction is correct."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "associa-tion",
            "corrected_text": "association",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:45.334922",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:30:08.201479",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit precisely matches the ground truth edit in both criteria required for evaluation. \n\n1. Edit Type Accuracy: The edit type is 'punctuation' for both the ground truth and the predicted edit. This shows that the predicted edit correctly identifies the type of change that was made, matching the ground truth exactly.\n\n2. Text Content Accuracy: The core textual change identified in both the ground truth and prediction is transforming 'high road' to 'high-road'. The prediction captures this essential alteration accurately. There are no discrepancies or additional contexts affecting the fundamental change required. \n\nAs both the edit type and the change in text content are correctly captured in the prediction, the evaluation concludes that the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is correct based on the evaluation criteria. Firstly, the edit type 'punctuation' is exactly the same in both the ground truth and predicted edit, meeting the edit type accuracy requirement. Secondly, for text content accuracy, the prediction captures the core change indicated by the ground truth: adding a comma between 'about' and 'and' in the text 'about, and'. Since both the type and the essential text change align perfectly with the ground truth, the prediction is considered accurate."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The evaluation focuses on two primary criteria: Edit Type Accuracy and Text Content Accuracy. \n\n1. Edit Type Accuracy: \nThe edit type in both the ground truth and the predicted edit is 'punctuation'. This matches exactly, so the prediction satisfies the Edit Type Accuracy criterion.\n\n2. Text Content Accuracy: \nThe ground truth specifies a change from 'earnestly telling' to 'earnestly, telling'. The predicted edit also reflects this same change, from 'earnestly telling' to 'earnestly, telling'. The core change, which is the addition of a comma after 'earnestly', is accurately captured by the prediction. The essential edit is present in both the ground truth and the prediction such that the text content matches the intention of the edit.\n\nSince both criteria are met, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria required for correctness. Firstly, the edit type in both the ground truth and prediction is 'punctuation', which means the type was correctly identified. Secondly, the text content accuracy criterion is met since the core change from 'said when' to 'said, when' is captured in the prediction exactly as it was in the ground truth. There are no additional context errors visible, and the key change, which is the addition of a comma after the word 'said', is correctly implemented. Therefore, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is correct because it matches the ground truth on both criteria. For edit type accuracy, both the ground truth and the predicted edit indicate a 'punctuation' change, which aligns perfectly. Regarding text content accuracy, both the ground truth and the prediction change 'said' to 'said,', which is the core edit identified. The essential change is the addition of a comma after 'said', and this is accurately captured in the prediction. Since both the edit type and the text content align with the ground truth intent, the prediction is accurate."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials, costing",
            "corrected_text": "materials; costing",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:46.305553",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:30:14.915716",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in both criteria evaluated. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, which is essential for type accuracy. Secondly, the text content accuracy is maintained as the core change from 'high road' to 'high-road' is correctly identified and executed in the prediction, precisely capturing the intended correction. Thus, the prediction accurately reflects the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately matches the ground truth edit based on both evaluation criteria. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, satisfying the requirement for edit type accuracy. Secondly, the text content change has been correctly captured: both the ground truth and the prediction change 'materials costing' to 'materials, costing', correctly indicating the addition of a comma between 'materials' and 'costing'. Therefore, the predicted edit correctly captures the intention of the ground truth edit in all respects considered for this evaluation."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is considered correct because it matches the ground truth in both of the required criteria. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, ensuring edit type accuracy. Secondly, the text content change from 'about and' to 'about, and' is accurately captured in the predicted edit. Even if additional context were included, this core change would remain correct. Therefore, the predicted edit fully meets the requirements of the ground truth edit, capturing both the type and the essential text change accurately."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit captures the intention of the ground truth edit with precision. Firstly, the edit type, 'punctuation,' matches exactly between the predicted and ground truth edits. No discrepancy exists in identifying the type of change intended. Secondly, the core textual change is accurately reflected in the predicted edit. Both the ground truth and the prediction show the transition from 'earnestly telling' to 'earnestly, telling,' indicating the addition of a comma after 'earnestly.' This demonstrates that the essential punctuation change, which is the insertion of a comma, has been correctly understood and implemented in the prediction. Thus, based on both criteria\u2014edit type accuracy and text content accuracy\u2014the predicted edit is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the 'punctuation' type, which matches the ground truth type precisely. Regarding text content accuracy, the predicted edit accurately captures the core change specified in the ground truth, which is adding a comma after 'said.' Both the original and corrected texts in the prediction match the ground truth: 'said when' to 'said, when,' ensuring the essential edit is correctly captured. As both the edit type and the text content accurately reflect the ground truth's intention without any discrepancies, the prediction is considered correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. Firstly, the edit type in both cases is 'punctuation', which is identical, meeting the Edit Type Accuracy requirement. Secondly, for Text Content Accuracy, the essential change from 'said' to 'said,' is accurately captured. The prediction must capture the core change of adding a comma after 'said', which it does, fulfilling the Text Content Accuracy criterion. Therefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the criteria provided. Both the predicted and ground truth edits have the same edit type, 'punctuation,' which means the prediction matches the required edit type accuracy. In terms of text content accuracy, the prediction changes 'Clennam in' to 'Clennam, in,' which reflects the core change intended by the ground truth. The addition of the comma after 'Clennam' is correctly captured in both edits. Since both key criteria\u2014edit type and core text content\u2014are accurately matched in the prediction, the predicted edit is deemed correct."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "associa-tion",
            "corrected_text": "association",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:31.983076",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:30:06.207903",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in both criteria. Firstly, the edit type is identified as 'punctuation' in both the ground truth and predicted edit, indicating that the model correctly identified the nature of the change. Secondly, the text content accuracy is satisfied as both the ground truth and predicted edit change the text from 'Sun and Shadow' to 'Sun and Shadow.', accurately capturing the insertion of the period punctuation. Since both the type and content match, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:36.397378",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:30:08.206558",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit successfully captures the intention of the ground truth edit under the given evaluation criteria. \n\n1. Edit Type Accuracy: \n   - The edit type in both the ground truth and the predicted edit is 'punctuation'. They match exactly, thus satisfying the edit type accuracy requirement.\n\n2. Text Content Accuracy: \n   - The ground truth edit changes 'Sun and Shadow' to 'Sun and Shadow.', indicating the addition of a period at the end of the text.\n   - The predicted edit also changes 'Sun and Shadow' to 'Sun and Shadow.' by adding the period at the end. This captures the essential change that the ground truth identifies, which is the punctuation addition.\n   - While the line number differs, the provided criteria specify that line numbers should be ignored for this evaluation.\n\nGiven these points, the prediction accurately reflects the core change intended by the ground truth edit, resulting in a correct prediction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:35.898132",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:30:19.868733",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit according to both criteria specified. \n\n1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation'. Therefore, according to the first criterion, the edit type is correctly matched.\n\n2. Text Content Accuracy: Both the ground truth and the predicted edit show a change from 'Sun and Shadow' to 'Sun and Shadow.', indicating an addition of a period at the end of the sentence. Since both specify the same core textual change, the text content is accurately captured by the prediction.\n\nOverall, the predicted edit correctly reflects the intention of the ground truth edit according to the specified evaluation criteria."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:46.956093",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:30:38.787849",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both the 'edit type' and 'text content' criteria. The edit type is a 'replacement' in both the ground truth and predicted edits, satisfying the Edit Type Accuracy requirement. Regarding Text Content Accuracy, the original text 'Saone' is correctly identified and replaced with the corrected text 'Sa\u00f4ne' in both the ground truth and the prediction. The CORE change, which is the addition of the circumflex accent on the 'o', is captured accurately in the prediction. Therefore, the prediction is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly reflects the ground truth in both criteria of evaluation. Firstly, the 'type' of edit in both the ground truth and the prediction is 'punctuation', indicating a precise match in terms of what the edit type is. Second, the 'corrected_text' field in both cases shows the same essential change: introducing a comma in 'Chalons was' to become 'Chalons, was'. Since the core alteration required in the text content is the same\u2014the insertion of a comma between 'Chalons' and 'was'\u2014the prediction perfectly captures the intention of the ground truth. Accordingly, both criteria for a correct edit are satisfied, thus making the prediction correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:49.288053",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:30:22.949346",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The evaluation of the predicted edit against the ground truth edit reveals that both key criteria are met. First, regarding 'Edit Type Accuracy', the predicted edit type is 'replacement', which matches exactly with the ground truth edit type. Therefore, the type of change has been correctly identified. Second, under 'Text Content Accuracy', the predicted correction involves changing 'Saone' to 'Sa\u00f4ne', which aligns perfectly with the core change identified in the ground truth. The essential character change, from 'o' to '\u00f4', is captured precisely, indicating that the predicted edit conveys the same intended modification as the ground truth edit. Since both the edit type and the core text content match the ground truth, the predicted edit accurately captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit and the ground truth edit both have the same type 'punctuation', which means the edit type matches exactly. Regarding the text content, the core change identified by the ground truth is the addition of a comma after 'Chalons'. The predicted edit also captures this essential punctuation change, although it leaves out the word 'was' from the original and corrected text context. The omission of 'was' is permissible as the essential edit was performed correctly: adding a comma after 'Chalons'. Therefore, the predicted edit accurately captures the ground truth's intention regarding the punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:34:49.138434",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:30:24.351458",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. First, the edit type is 'replacement' in both the predicted edit and the ground truth, which ensures edit type accuracy. Second, the text content accuracy is maintained as the core change from 'Saone' to 'Sa\u00f4ne' is identical in both the ground truth and predicted edits. There is no issue with additional context since both edits focus on the exact text change required. Therefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:04.526022",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:31:05.525964",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Both the edit type and the text content are accurately matched. \n\n1. Edit Type Accuracy: Both the ground truth and predicted edit types are 'punctuation', which is a direct match. \n\n2. Text Content Accuracy: The ground truth shows the original text 'heart so' being corrected to 'heart, so', and the prediction reflects the same correction by adding a comma. The core change, which is the insertion of a comma after 'heart', is captured perfectly in the prediction. Therefore, the edit type and content both align correctly with the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit perfectly in terms of both criteria. The edit type is 'punctuation' in both the ground truth and the prediction, satisfying the edit type accuracy. Additionally, the text content accuracy is met because both the ground truth and predicted edits involve the same correction, changing 'length said' to 'length, said'. There are no additional unnecessary changes or discrepancies in the core change, indicating that the predicted edit accurately captures the essential edit represented in the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria evaluated. Firstly, the edit type is 'replacement' in both cases, ensuring perfect edit type accuracy. Secondly, both the original text ('I hope so') and the corrected text ('I hoped so') match exactly between the ground truth and the prediction, satisfying the text content accuracy requirement. The prediction accurately reflects the core change intended by the ground truth. Hence, the predicted edit is correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from",
            "corrected_text": "thanked him indeed from",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:10.157770",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:31:29.004224",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length",
            "corrected_text": "length,",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation', which matches exactly. Therefore, the prediction is correct in terms of edit type.\n\n2. Text Content Accuracy: The core change in the ground truth is the addition of a comma to the word 'length', resulting in 'length, said'. The predicted edit also correctly captures this key change by transforming 'length' to 'length,'. Although the prediction does not specify the subsequent word 'said', the essential punctuation change is correctly portrayed. According to the instructions, inclusion of additional context is acceptable as long as the core change is correctly identified, which is the case here.\n\nThus, both criteria are satisfied, and the prediction is accurate as per the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in terms of both edit type and core change. Firstly, the edit type 'replacement' is consistent in both the ground truth and the prediction, satisfying the first criterion of edit type accuracy. Secondly, in terms of text content accuracy, the essential change in both the ground truth and predicted edits is the alteration of 'hope' to 'hoped'. Despite the ground truth specifying a longer string ('I hope so' to 'I hoped so'), the core change captured by the prediction from 'hope' to 'hoped' is accurate and captures the essential grammatical correction. Therefore, the prediction correctly reflects the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": ",",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart",
            "corrected_text": "heart,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:06.163792",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:31:34.585815",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both aspects required for evaluation. \n\n1. **Edit Type Accuracy**: The edit type in both the ground truth and the predicted edit is 'punctuation.' Since they match exactly, the edit type is correct.\n\n2. **Text Content Accuracy**: The essential change specified in the ground truth is the insertion of a comma, changing 'length said' to 'length, said.' The predicted edit correctly captures this change without any deviation. Although both the original and corrected text segments provided in the prediction are exactly the same as those in the ground truth, this does not affect the evaluation as the core change (inserting a comma after 'length') is correctly reflected.\n\nTherefore, both criteria are satisfied, making the prediction correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Both the ground truth edit and the predicted edit have identified the same type of change, a 'replacement'. This satisfies the Edit Type Accuracy criterion as the 'replacement' type matches exactly in both instances. For Text Content Accuracy, the ground truth specifies changing 'I hope so' to 'I hoped so', whereas the predicted edit changes 'hope' to 'hoped'. Here, the core change from 'hope' to 'hoped' is correctly identified and executed in the predicted edit. The prediction includes less context, but since additional context is permissible, the essential edit is still captured accurately. Therefore, the predicted edit aligns with the intention of the ground truth edit in both criteria, making it correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart ;",
            "corrected_text": "heart;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart",
            "corrected_text": "heart indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:12.461448",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:31:18.092496",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately matches the ground truth edit in both criteria required for evaluation. First, the Edit Type Accuracy is met because both the ground truth and the predicted edits identify the type as 'punctuation'. This shows that the predicted edit correctly identified the category of change being made to the text. Second, the Text Content Accuracy is achieved because the prediction captures the core change specified in the ground truth: the insertion of a comma after 'hers'. Both the original and corrected text in the prediction are identical to those in the ground truth, meaning the essential edit is the same. Thus, the prediction successfully reflects the intention of the ground truth edit, justifying a correct evaluation."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit. Firstly, the edit type is 'punctuation' for both the ground truth and the predicted edit, which matches exactly. Secondly, the text content accuracy criterion is satisfied: both the ground truth and prediction present the change of adding a comma in the phrase 'hers matters', transforming it into 'hers, matters'. There are no unnecessary additions or omissions in the prediction that alter the core change intended by the ground truth. Therefore, the prediction is correct in both edit type and text content."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit on both criteria. Firstly, the edit type is 'capitalization' in both the ground truth and the prediction, indicating that the prediction correctly identifies the nature of the correction as a change in capitalization. Secondly, the text content accuracy criterion is met as both the original text 'they' and the corrected text 'They' are identical in both the ground truth and the predicted edit. This demonstrates that the core change, specifically capitalizing the initial 'T' in 'they', is correctly captured in the prediction, fulfilling the requirement for text content accuracy. Therefore, the prediction is correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment,",
            "corrected_text": "moment",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:19.742287",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:31:28.809390",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The edit type 'punctuation' matches exactly between the ground truth edit and the predicted edit. Therefore, the edit type is correct. \n\n2. Text Content Accuracy: The core change in both the ground truth and predicted edit is the insertion of a comma after 'moment'. The ground truth specifies 'moment with' to 'moment, with', while the predicted edit specifies 'moment' to 'moment,'. The predicted edit accurately captures the essential change, which is the insertion of a comma after 'moment'. The additional context ('with') included in the ground truth does not alter the core change being captured correctly in the prediction.\n\nSince both criteria are met, the predicted edit is deemed correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately matches the ground truth edit based on the evaluation criteria. Firstly, the edit type is 'capitalization' for both the ground truth and the prediction, satisfying the requirement for Edit Type Accuracy. Secondly, concerning Text Content Accuracy, both the original text and the corrected text in the prediction match those in the ground truth ('they' to 'They'). Thus, the core change identified by the ground truth is correctly captured by the prediction. The prediction does not include unnecessary additional context and focuses solely on the essential change required as per the ground truth. Therefore, the predicted edit is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hesitation,",
            "corrected_text": "hesitation",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hers",
            "corrected_text": "her",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her",
            "corrected_text": "her,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:19.474782",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:31:21.508969",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in terms of both edit type and text content. \n\n1. **Edit Type Accuracy**: The edit type in both the ground truth and predicted edit is 'punctuation,' which matches exactly, so the edit type is correct.\n\n2. **Text Content Accuracy**: The core change in both the ground truth and prediction is from 'hers and' to 'hers, and.' The essential correction of introducing a comma after 'hers' is accurately captured in the prediction. Additionally, there is no discrepancy in the context provided, and the essential change is correctly identified.\n\nSince both criteria are fulfilled, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is correct because it matches the ground truth edit in both the edit type and text content. The edit type is 'punctuation' in both cases, indicating that the focus is on modifying the punctuation in the text. The original text and corrected text in the prediction ('hers matters' to 'hers, matters') are identical to the ground truth, effectively capturing the core change that was intended by the ground truth. Since the essential edit is correctly captured without any discrepancies in the edit type or the core text content, the prediction accurately reflects the intention of the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures both the edit type and the text content change specified by the ground truth. Firstly, the edit type 'punctuation' matches exactly, fulfilling the requirement for edit type accuracy. Secondly, the text content change is precisely captured; both the original text 'moment with' and the corrected text 'moment, with' are identical between the ground truth and the prediction. This meets the criterion of text content accuracy, which focuses on capturing the core change indicated by the ground truth. Therefore, both criteria are satisfied, and the predicted edit is correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both required aspects. First, the edit type is 'punctuation' in both the ground truth and the predicted edit. Second, the text content accuracy is achieved because the essential change, which is the insertion of a comma resulting in 'beautiful' changing to 'beautiful,', is correctly captured. Both edits reflect the same modification, so the prediction is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both the edit type and text content. Both the ground truth and predicted edits are of type 'capitalization', which is the correct edit type. Additionally, the text change from 'they' to 'They' is correctly captured in both the ground truth and prediction. Since the core change\u2014the capitalization of the word 'they' to 'They'\u2014has been accurately identified and the edit type is correctly noted as 'capitalization', the prediction is considered correct according to the evaluation criteria."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:13.171525",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:31:41.198307",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. Firstly, the edit type is 'punctuation' in both the ground truth and the predicted edit, indicating that the type of change is correctly identified. Secondly, the text content accuracy is also maintained, as the essential edit is the insertion of a comma in the phrase 'shore and' to become 'shore, and'. The prediction captures this core change accurately. Therefore, the predicted edit is correct based on the criteria provided."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both key aspects evaluated: edit type accuracy and text content accuracy. 1. Edit Type Accuracy: Both the ground truth and predicted edit types are 'replacement', which is an exact match. 2. Text Content Accuracy: The predicted edit accurately captures the core change identified in the ground truth, replacing 'that' with 'than'. There is no deviation in the actual change required. Therefore, the prediction is correct as it satisfies both criteria perfectly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:22.435601",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:31:36.875800",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you\u201d",
            "corrected_text": "Thank you,\u201d",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The edit type for both the ground truth and predicted edit is 'punctuation'. Thus, the edit type is correctly matched.\n\n2. Text Content Accuracy: The core change in the ground truth is the replacement of the exclamation mark '!' with a comma ',' at the end of 'Thank you'. The predicted edit captures the same punctuation change, although it involves an extra character, the closing double quotation mark. This discrepancy is merely an expansion of context and does not alter the core intention, which is the punctuation change (from '!' to ','). Since the core change is correctly captured, and extra context before/after the change is permissible, the text content is considered accurate in matching the ground truth's intention.\n\nTherefore, the prediction correctly identifies both the type and nature of the edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit has the type 'punctuation,' which matches exactly with the ground truth type 'punctuation.' Therefore, the edit type is accurate. \n\n2. Text Content Accuracy: The core change indicated by the ground truth is the addition of a comma after 'shore' (changing 'shore and' to 'shore, and'). The predicted edit captures this essential punctuation change by altering 'shore' to 'shore,'. Although the context (additional words) differs, the key transformation of adding a comma after 'shore' is correctly captured. Therefore, the text content accurately reflects the ground truth's intention.\n\nBoth criteria are met, so the prediction is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth in both key evaluation aspects: Edit Type Accuracy and Text Content Accuracy. Firstly, the edit type 'replacement' corresponds exactly between the predicted and ground truth edits, satisfying the criterion for Edit Type Accuracy. Secondly, the text content shows an identical replacement from 'that' to 'than,' which is precisely what the ground truth specifies. Therefore, the core change intended by the ground truth has been accurately captured by the predicted edit. No discrepancy in context is present, and thus the prediction fulfills both criteria effectively."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy",
            "corrected_text": "fancy,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:25.203434",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:32:24.505267",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit accurately based on the evaluation criteria. \n\n1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'replacement', which matches exactly, fulfilling the required condition for edit type accuracy. \n\n2. Text Content Accuracy: The core change identified in both the ground truth and the prediction is the replacement of 'that' with 'than'. This change is captured precisely in both, fulfilling the criteria for text content accuracy. There are no issues with additional context because the essential component of the edit is captured correctly.\n\nSince both criteria are met, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you, murmured",
            "corrected_text": "you,\u201d murmured",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank",
            "corrected_text": "\u201cThank",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ",",
            "corrected_text": "",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:53.325292",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:32:36.025843",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MRS. FLINTWINCH GOES ON DREAMING",
            "corrected_text": "MRS. FLINTWINCH GOES ON DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches exactly with the ground truth edit type. Therefore, there is no discrepancy here.\n\n2. Text Content Accuracy: The ground truth specifies a change to the word 'DREAMING' to add a period, resulting in 'DREAMING.'. The predicted edit expands the context to 'MRS. FLINTWINCH GOES ON DREAMING' and applies the same punctuation change, transforming it to 'MRS. FLINTWINCH GOES ON DREAMING.'. The essential edit, which is adding a period after 'DREAMING', is accurately captured and applied in the prediction. Therefore, despite the inclusion of additional context, the core change required by the ground truth is correctly executed.\n\nBoth criteria are satisfied; hence, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both the type and the text content criteria. In terms of edit type accuracy, both the ground truth and the prediction have the edit type 'capitalization', which matches exactly. Regarding text content accuracy, the core change required by the ground truth is changing 'city' to 'City', and this change is exactly what the prediction captures as well. The corrected text in both the ground truth and prediction is the capitalization of 'City' from 'city'. There are no additional or omitted words that affect the core change. Therefore, the prediction accurately reflects the intention behind the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures all aspects of the ground truth edit. \n\n1. **Edit Type Accuracy**: Both the ground truth and the predicted edit specify the edit type as 'punctuation', which is an exact match.\n\n2. **Text Content Accuracy**: The change in text from 'them,' to 'them;' is correctly captured in both the ground truth and the predicted edit. The core change, which is the replacement of the comma with a semicolon, is identical in both the predicted and the ground truth edits. The contextual text 'them,' -> 'them;' is matched without any discrepancies.\n\nSince both criteria meet the requirements accurately, the prediction is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Firstly, the edit type 'punctuation' matches exactly with the ground truth edit type, satisfying the Edit Type Accuracy criterion. Secondly, the text content accuracy is met as the predicted edit identifies the same core change from 'it,' to 'it;' as the ground truth. Both edits reflect the exact punctuation change without any discrepancies. Thus, since both the type and content are accurately captured, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit perfectly in both the type and the text content. The edit type is 'punctuation' in both the ground truth and prediction, which satisfies the requirement for edit type accuracy. Furthermore, the text content change from 'stand-still,' to 'stand-still;' exactly corresponds in the prediction to that in the ground truth. Both the original and corrected texts are identical, capturing the essential edit accurately without any discrepancies. Thus, the prediction captures the intention of the ground truth completely and accurately on both required criteria."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in all required aspects. Both the edit type and the text content are accurately captured. \n\n1. Edit Type Accuracy: The type in both the ground truth and prediction is 'punctuation', which matches exactly. Therefore, the edit type criterion is satisfied. \n\n2. Text Content Accuracy: The change in the text from 'existence,' to 'existence;' is correctly identified in the predicted edit. Although additional context is acceptable, the core change involving the punctuation from a comma to a semicolon is accurately captured in the prediction. \n\nSince both criteria are met, the prediction is correct according to the ground truth's intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "seen",
            "corrected_text": "seen;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "night, each",
            "corrected_text": "night, to each",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liege",
            "corrected_text": "liege lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:46.999156",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:32:42.787643",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit based on both specified criteria. \n\n1. **Edit Type Accuracy**: Both the ground truth and predicted edits have the same edit type, 'capitalization'. This means the predicted edit correctly identifies the type of correction intended by the ground truth.\n\n2. **Text Content Accuracy**: The core change identified by the ground truth is from 'city' to 'City'. The predicted edit captures this change precisely. There are no discrepancies in the text content or in the nature of the change, fulfilling the requirement that the prediction should reflect the essential change presented in the ground truth.\n\nGiven that both criteria are met adequately, the predicted edit is considered correct in capturing the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Firstly, the edit type is 'punctuation', which matches exactly between the ground truth and the prediction, satisfying the Edit Type Accuracy criterion. Secondly, the Text Content Accuracy criterion is met as the core change identified in the ground truth is changing 'them,' to 'them;', and this exact change is reflected in the predicted edit as well. Both original and corrected text segments match perfectly with the ground truth. Therefore, the predicted edit is accurate according to the evaluation criteria."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria: Edit Type Accuracy and Text Content Accuracy. For Edit Type Accuracy, both the ground truth and the predicted edit specify 'punctuation' as the type, which is correct and matches exactly. For Text Content Accuracy, the essential change is from 'it,' to 'it;', which is captured accurately in the predicted edit. Since both criteria are met with the same core change and edit type, the prediction is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit perfectly matches the ground truth edit in both required aspects. First, the edit type is 'punctuation' in both the ground truth and the predicted edit, satisfying the criterion for Edit Type Accuracy. Second, the Text Content Accuracy is upheld as well, as the predicted edit captures the core change from 'stand-still,' to 'stand-still;'. Therefore, the essential punctuation change from a comma to a semicolon is correctly identified in the predicted edit, accurately reflecting the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. \n\n1. Edit Type Accuracy: \n   - Both the ground truth and the predicted edit types are 'punctuation', which means the edit types match exactly. \n\n2. Text Content Accuracy: \n   - The essential change in the ground truth is the addition of a comma after 'view' transforming it from 'view' to 'view,'. \n   - The predicted edit also captures this essential change by showing the correction from 'view by' to 'view, by'. \n   - Although the predicted edit includes additional context ('by'), this does not affect the evaluation as the core change, which is the addition of the comma after 'view', is correctly identified. \n   - Therefore, the text content accuracy criterion is satisfied, as the essential change from 'view' to 'view,' is accurately captured.\n\nSince both criteria are met, the edit is considered correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both critical aspects required for accuracy evaluation. Firstly, the 'edit type' in both the ground truth and prediction is 'punctuation', which means there is no discrepancy in the type of change identified. Secondly, the 'text content accuracy' is upheld because the core change from 'existence,' to 'existence;' is accurately captured by the predicted edit. The essential punctuation change is correctly identified and applied, indicating that the prediction meets the ground truth's indicated intention effectively."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "xxix",
            "corrected_text": "xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless; when",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:52.724651",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:33:06.337343",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in both criteria evaluated: \n\n1. Edit Type Accuracy: The edit type in both the ground truth and predicted edit is 'capitalization.' This matches exactly, indicating the predicted edit correctly identifies the nature of the change.\n\n2. Text Content Accuracy: The core change identified by the ground truth is modifying 'city' to 'City,' reflecting a capitalization adjustment. The predicted edit mirrors this change accurately, capturing the essential transformation of the text. Since the prediction doesn't include superfluous or incorrect text, it successfully represents the intended edit.\n\nBoth the edit type and text content are in perfect alignment with the ground truth, thereby confirming the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit for the following reasons: \n\n1. Edit Type Accuracy: Both the ground truth and predicted edits are categorized under the same edit type, which is 'punctuation'. This means that the model has successfully identified the type of editorial change required, thus satisfying the criterion for edit type accuracy.\n\n2. Text Content Accuracy: The original text in both the ground truth and predicted edits is 'it,', and the corrected text is 'it;', indicating a change of punctuation from a comma to a semicolon after the word 'it'. This reflects the core change that the ground truth specifies. The prediction covers the exact change seen in the ground truth without any discrepancies in the actual content that was altered.\n\nOverall, since both the edit type and the specific textual correction align perfectly with the ground truth, the prediction is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in both criteria. First, the 'edit type' is accurately identified as 'punctuation' in both the predicted and the ground truth edits. Second, the 'text content' shows the core change of altering the punctuation from a comma to a semicolon after 'stand-still'. Both texts correctly reflect this change without altering the essential meaning or structure of the correction. Therefore, based on the criteria of matching edit type and capturing the core text change, the predicted edit is accurate."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in terms of edit type and captures the core change. \n\n1. Edit Type Accuracy: Both the ground truth and predicted edits are of type 'punctuation', indicating that the prediction's edit type is accurate.\n\n2. Text Content Accuracy: The ground truth correction involves adding a comma to the word 'view', changing it to 'view,'. The predicted correction takes 'view by' and changes it to 'view, by', which includes the same crucial punctuation change of adding a comma to 'view'. While the prediction includes an additional word 'by', it still correctly identifies and implements the core edit: the addition of a comma after 'view'. Therefore, the prediction accurately captures the intended correction from the ground truth. \n\nOverall, both criteria are satisfied, so the edit is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both the edit type and the text content. The edit type is 'punctuation', which is exactly the same as the ground truth. For text content accuracy, the change from 'existence,' to 'existence;' is identical in both the predicted and ground truth edits. Therefore, both the edit type and the essential textual change have been correctly captured by the prediction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:44.849780",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:32:49.047666",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "<i>benevolence bubbling out of him</i>",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam,",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that\u2014boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:47.144344",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:32:39.851009",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "bubbling out of him",
            "corrected_text": "<i>bubbling out of him</i>",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in terms of edit type and text content accuracy. \n\n1. Edit Type Accuracy: Both the ground truth and predicted edits are of type 'italicize', indicating that the action to be performed on the text is the same.\n\n2. Text Content Accuracy: The ground truth specifies italicizing 'him', whereas the prediction involves italicizing a larger segment, 'bubbling out of him'. The essential change of italicizing 'him' is present in the prediction because 'him' is included within the broader context of 'bubbling out of him'. Therefore, the core change of italicizing the word 'him' is accurately captured, as per the ground truth intention.\n\nGiven these assessments, the predicted edit accurately reflects the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately matches the ground truth edit in two critical areas: \n\n1. **Edit Type Accuracy**: Both the ground truth and the predicted edit are of type 'replacement'. This indicates that the model correctly understood the nature of the editorial change needed.\n\n2. **Text Content Accuracy**: The specific change required was from 'authorize' to 'authorise'. The predicted edit reflects this exact core change without any deviation. Even if there were more surrounding text, the core text content change aligns exactly with the ground truth information.\n\nGiven these evaluations\u2014despite any line number consideration, which has been explicitly disregarded here\u2014the predicted edit is entirely correct in both changing the spelling to British English and identifying the action needed as a 'replacement'."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": ",",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:45.470708",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:32:43.154720",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the type of edit as 'replacement,' which matches the ground truth's specified edit type. Additionally, the text content change from 'authorize' to 'authorise' is accurately reflected in both the ground truth and the prediction. Hence, both the edit type accuracy and the text content accuracy criteria are met. The inclusion or exclusion of additional context is not relevant for this evaluation as the core change is accurately captured, leading to the conclusion that the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": ",",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that-boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "<i>benevolence bubbling out of him</i>",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:41.686909",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:32:56.277425",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "word I",
            "corrected_text": "word, I",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "never",
            "corrected_text": "never saw",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ", not",
            "corrected_text": ",\u2014not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:55.365693",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:32:56.412980",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "For",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me,",
            "corrected_text": "me;",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_openai_gpt_5_2",
        "date": "2026-02-22T13:35:56.442481",
        "annotator": "GPT-5.2 (OR)",
        "annotation_date": "2026-02-22T13:33:43.398289",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "an",
            "corrected_text": "wear",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "For ",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ",",
            "corrected_text": ";",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2025-12-11",
    "release_source": "https://openai.com/index/introducing-gpt-5-2/"
  },
  {
    "model_name": "GPT-5.3 Chat",
    "model_id": "gpt-5.3-chat",
    "date": "2026-03-05T19:27:00.346596",
    "shots": 2,
    "config": {
      "model_id": "gpt-5.3-chat",
      "display_name": "GPT-5.3 Chat",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-03-05",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-5.3 Chat",
    "annotation_date": "2026-03-05T19:18:12.782669",
    "file_results": [
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:22:36.701715",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:12.782669",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change adds a period to the end of the phrase \"Fellow Travellers\" (i.e., after \"Travellers\"). The predicted edit adds a period after \"Travellers\" as well, just with less surrounding context (it omits \"Fellow\"). Since the essential correction\u2014appending a period after \"Travellers\"\u2014is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the types match exactly. Text Content Accuracy: Both ground truth and prediction change \"yonder to-day\" to \"yonder, to-day\", inserting a comma after \"yonder\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same corrected text (\"pockets, and\"), capturing the identical core change\u2014adding a comma after \"pockets\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:22:42.287707",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:11.036168",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"Fellow Travellers\" to \"Fellow Travellers.\"\u2014i.e., it adds a period at the end of the phrase. The predicted edit changes \"Travellers\" to \"Travellers.\", which still captures the essential intended change: adding a terminal period after the final word. Although the prediction uses a narrower span (only the last word rather than the full phrase), it applies the same core punctuation correction at the same location (the end of the phrase)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 14,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change the phrase \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets.\" This captures the core intended punctuation correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day Sir",
            "corrected_text": "yonder, to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:22:43.062148",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:11.653064",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period at the end of the phrase \"Fellow Travellers\" (i.e., after \"Travellers\"). The prediction also adds a period after \"Travellers\". Although the prediction uses less surrounding context (it edits only \"Travellers\" rather than \"Fellow Travellers\"), it captures the same essential punctuation change at the same word boundary. Therefore, the core intended correction is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change: insertion of a comma after \"yonder\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and\". The original and corrected texts match exactly, so the intended punctuation correction is captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:22:34.090984",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:21.954408",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think, why",
            "corrected_text": "think: why",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "stones",
            "corrected_text": "stones!\u201d",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:22:52.068127",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:13.156391",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think why",
            "corrected_text": "think, why",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\" She",
            "corrected_text": "stones!\" She",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:22:52.066843",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:09.654181",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think, why",
            "corrected_text": "think: why",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\" She",
            "corrected_text": "stones!\" \u2014 She",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:23:14.900435",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:10.701731",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 33,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he\", which is specifically capitalizing the word \"if\" at the start of the phrase. The prediction changes \"if\" to \"If\", capturing the same core capitalization change. Although it omits the following word (\"he\"), the essential intended correction (capitalizing \"if\") is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit, so the edit type matches.\n\n2) Text Content Accuracy: The ground truth replaces \"said Clennam\" with \"asked Clennam\". The prediction replaces \"said\" with \"asked\". This captures the core intended change (\"said\" \u2192 \"asked\"). Although the prediction omits the surrounding word \"Clennam\" from both original and corrected text, it still represents the same essential replacement within the phrase, so the intended correction is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do",
            "corrected_text": "do?",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:23:06.584467",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:15.606886",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do",
            "corrected_text": "do?",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "do?",
            "corrected_text": "do? If",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:23:08.885876",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:16.759221",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do",
            "corrected_text": "do?",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:23:10.706200",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:53.867746",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The predicted change matches the ground truth precisely, correcting \"high road\" to \"high-road\" by inserting a hyphen. The original and corrected text are identical to the ground truth, so the core intended edit is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Labouring in this sea as all barks labour in cross seas",
            "corrected_text": "Labouring in this sea, as all barks labour in cross seas",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:23:38.834948",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:55.298518",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"high road\") and the same correction (\"high-road\"), capturing the identical core change of inserting a hyphen. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same core textual change: inserting a comma after \"about\" in the phrase \"about and\" to make it \"about, and\". The original_text and corrected_text match the ground truth\u2019s intention exactly.\n\nLine numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original phrase (\"earnestly telling\") and the same correction (\"earnestly, telling\"), inserting a comma after \"earnestly.\" This captures the core intended change with no discrepancy in the edited text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The predicted edit \"said\" \u2192 \"said,\" captures the same core punctuation insertion (adding a comma immediately after \"said\"). Although it omits the following word \"when\" as context, it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 26,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2. Text Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\" by inserting a comma after \"Clennam.\" This captures the core intended correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:23:34.946666",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:03.635864",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: The ground truth changes \"high road\" to \"high-road\" (inserting a hyphen). The prediction specifies the same original text and the same corrected text, capturing the identical core change. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"materials costing\" to \"materials, costing\", correctly capturing the intended insertion of a comma after \"materials\". The core change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the intended insertion of a comma after \"earnestly\". Line numbers are ignored, and no other differences affect the core edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 26,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The prediction also inserts a comma after \"Clennam\" (\"Clennam in amazement\" \u2192 \"Clennam, in amazement\"). The added words \"amazement\" are extra context and do not alter the core punctuation change. Therefore, the prediction captures the intended edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Labouring in this sea as all barks labour in cross seas",
            "corrected_text": "Labouring in this sea, as all barks labour in cross seas",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:23:35.564378",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:54.287929",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core change is identical, so the predicted edit matches the ground truth intention."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:23:45.135707",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:54.303770",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the core intended correction. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:23:55.674574",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:18:55.759554",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core intended punctuation change is captured identically."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:24:13.085500",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:04.604376",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change\u2014adding a comma after \"dull\". Line numbers are ignored as instructed. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change \"Chalons was\" to \"Chalons, was\" by inserting a comma after \"Chalons\". This captures the same core punctuation correction with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"sodden\" to \"soddened\". The prediction changes \"sodden with\" to \"soddened with\", which includes additional surrounding context (the word \"with\") but preserves the same core substitution: \"sodden\" \u2192 \"soddened\". This aligns with the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone it",
            "corrected_text": "Saone, it",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:24:12.162597",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:05.258687",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text \"dull autumn\" and the same correction \"dull, autumn\", capturing the intended insertion of a comma after \"dull\". Ignoring line numbers, the essential change is identical."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both edits target the same original string (\"Chalons was\") and apply the same correction (\"Chalons, was\"), inserting a comma after \"Chalons.\" This captures the core intended change precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with wet",
            "corrected_text": "soddened with wet",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is the word-level replacement \"sodden\" \u2192 \"soddened\". The prediction applies the same core substitution while including extra surrounding context (\"with wet\") on both sides: \"sodden with wet\" \u2192 \"soddened with wet\". Since the essential modification (changing \"sodden\" to \"soddened\") is preserved, the text content accurately captures the intended edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone it",
            "corrected_text": "Saone, it",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:24:25.045155",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:07.589515",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the core intended change: inserting a comma after \"dull\". Line numbers are ignored as instructed. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone it",
            "corrected_text": "Saone, it",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "soddenwith",
            "corrected_text": "sodden with",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:24:20.761924",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:35.283233",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:24:35.088836",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:28.003703",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "thanked him indeed from her heart",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said Clennam",
            "corrected_text": "at length, said Clennam",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:24:35.469998",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:24.894442",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hoped so;",
            "corrected_text": "I hoped so",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:24:47.603845",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:35.455069",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they are to be married.",
            "corrected_text": "They are to be married.",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:24:54.127740",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:35.647342",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they are to be married.",
            "corrected_text": "They are to be married.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:24:59.169988",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:46.294590",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly \u201cThey",
            "corrected_text": "directly: \u201cThey",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:25:06.733394",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:45.500093",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "\"Thank you\"",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:25:26.088306",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:48.993486",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you\u201d",
            "corrected_text": "Thank you,\u201d",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:25:28.425252",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:19:51.090390",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:25:44.748413",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:20:12.522518",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Chapter XXIX\") and the same corrected text (\"Chapter XXIX.\"), capturing the identical core change of adding a period. Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the predicted edit are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change, adding a comma immediately after \"motionless\" within a slightly larger span (\"motionless when\" \u2192 \"motionless, when\"). The added context does not alter the essential correction and accurately captures the intended punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change within a larger context (\"view by\" \u2192 \"view, by\"), which correctly captures the intended punctuation insertion after \"view.\" The additional context does not alter the essential edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it:",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still, to",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "city",
            "corrected_text": "city (so)",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each",
            "corrected_text": "to each",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,at",
            "corrected_text": "existence, at",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:26:40.655092",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:20:12.261062",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\". The original_text and corrected_text match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit expands the span to include the following word (\"existence at\" \u2192 \"existence, at\"), but it still captures the same essential correction: inserting a comma right after \"existence\". The added context does not alter the core intended change.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "her liege lord",
            "corrected_text": "her liege-lord",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "city",
            "corrected_text": "city (car)",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them images",
            "corrected_text": "them; images",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view; by",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:26:32.450715",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:20:14.232823",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chapter XXIX\") and the same corrected text (\"Chapter XXIX.\"), capturing the identical core change of adding a period. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at the hour",
            "corrected_text": "existence, at the hour",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change within a longer span of text (\"existence at the hour\" \u2192 \"existence, at the hour\"), which correctly captures the essential intent: inserting a comma immediately after \"existence.\" Additional surrounding context is acceptable and does not alter the core edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit expands the context to include the following word (\"view by\" \u2192 \"view, by\"), but the core change is the same: inserting a comma immediately after \"view.\" This accurately captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to replace the punctuation immediately following \u201cexistence\u201d from a comma to a semicolon (\u201cexistence,\u201d \u2192 \u201cexistence;\u201d). The predicted edit results in \u201cexistence;\u201d appearing before the following word (\u201cexistence; is\u201d), which captures the core intended punctuation outcome: a semicolon after \u201cexistence\u201d instead of the prior punctuation. Although the predicted original span (\u201cexistence is\u201d) omits the comma shown in the ground truth original (\u201cexistence,\u201d), the essential correction\u2014placing a semicolon after \u201cexistence\u201d\u2014is correctly represented."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her liege lord",
            "corrected_text": "her liege-lord",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "return of the same sequences",
            "corrected_text": "return to the same sequences",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:25:58.590064",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:20:10.372018",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,\u201d said Clennam:",
            "corrected_text": "it,\u201d said Clennam;",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the punctuation after \"Clennam\" from a colon to a semicolon (\"Clennam:\" \u2192 \"Clennam;\"). The prediction makes the same core change, but includes additional surrounding context (\"it,\u201d said Clennam:\" \u2192 \"it,\u201d said Clennam;\"). This still captures the essential intended correction (colon to semicolon after \"Clennam\").\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "a little premature",
            "corrected_text": "a little premature.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Your own recompense for all this, Mr. Pancks,",
            "corrected_text": "Your own recompense for all this, Mr. Pancks,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:26:22.402239",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:20:21.355844",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam:",
            "corrected_text": "said Clennam;",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is converting the punctuation after \"Clennam\" from a colon to a semicolon (\"Clennam:\" \u2192 \"Clennam;\"). The prediction captures the same core change, only with additional surrounding context (\"said Clennam:\" \u2192 \"said Clennam;\"). Since the essential punctuation substitution at \"Clennam\" is identical, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "been a little premature",
            "corrected_text": "been a little premature.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:26:30.681279",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:20:26.754812",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam:",
            "corrected_text": "said Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:26:48.119475",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:20:23.401169",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same change from \"quickly that\" to \"quickly, that\" (inserting a comma after \"quickly\"). This captures the core intended correction precisely. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:26:56.053383",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:20:29.382035",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"For Mr. Pancks\" to \"For, Mr. Pancks,\" inserting a comma after \"For\". The core punctuation change is identical in both."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.3-chat",
        "date": "2026-03-05T19:27:00.346596",
        "annotator": "GPT-5.3 Chat",
        "annotation_date": "2026-03-05T19:20:37.564361",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"For Mr. Pancks\") and the same correction (inserting a comma after \"For\" to make \"For, Mr. Pancks\"). The core punctuation change is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2026-03-03",
    "release_source": "https://openai.com/index/gpt-5-3-instant/",
    "release_notes": "Alias to gpt-5.3-chat-latest; using the GPT-5.3 Instant launch date."
  },
  {
    "model_name": "GPT-5.3 Codex (OR)",
    "model_id": "or_openai_gpt_5_3_codex",
    "date": "2026-03-05T19:32:52.748648",
    "shots": 2,
    "config": {
      "model_id": "or_openai_gpt_5_3_codex",
      "display_name": "GPT-5.3 Codex (OR)",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-03-05",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-5.3 Codex (OR)",
    "annotation_date": "2026-03-05T19:21:38.003520",
    "file_results": [
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:28:14.133277",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:21:38.003520",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core intended punctuation change is captured exactly with the same original and corrected text. Therefore, the prediction correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"pockets and\" to \"pockets, and,\" correctly capturing the intended insertion of a comma after \"pockets.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:28:23.335100",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:21:35.122672",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: adding a period to \"Fellow Travellers\" to make it \"Fellow Travellers.\". The original_text and corrected_text match the ground truth\u2019s core intended correction exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change from \"Sir\" to \"sir\". The original and corrected texts match the ground truth\u2019s intended capitalization change with no discrepancy.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both specify the same change, inserting a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The core intended punctuation correction is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:28:13.807197",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:21:45.498326",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: Both ground truth and prediction change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"capitalization,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"Sir\" to \"sir\". There is no discrepancy in the original or corrected text, so the essential intended edit is captured correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both specify the same change: inserting a comma after \"pockets\" so that \"pockets and\" becomes \"pockets, and\". The core punctuation correction is identical in original and corrected text."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:28:21.732036",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:21:55.436286",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word of the phrase, changing \"why did he dine\" to \"Why did he dine.\" The prediction captures the same core change by converting \"why\" to \"Why.\" Although it provides less surrounding context, it correctly identifies and applies the essential capitalization correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:28:43.626477",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:21:47.053871",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the first word of the phrase, changing \"why did he dine\" to \"Why did he dine.\" The prediction captures this core change by changing \"why\" to \"Why.\" Although it includes less surrounding context, it correctly represents the essential capitalization correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction captures the same core change on the relevant word/segment: \"stones!\" \u2192 \"stones?\". Although it includes less surrounding context (omitting \"cold\"), it still reflects the essential intended edit (replacing ! with ? after \"stones\"). Therefore, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:28:44.235290",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:21:55.946389",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"No sir\") and the same correction (\"No, sir\"), inserting a comma after \"No\". This captures the core intended change precisely with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial \"w\" in the phrase \"why did he dine\" \u2192 \"Why did he dine.\" The prediction captures this core intended change by editing \"why\" \u2192 \"Why.\" Although it includes less surrounding context, it still reflects the essential capitalization correction at the start of the sentence."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think, why",
            "corrected_text": "think, \"Why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:28:51.822373",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:21:28.387727",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same essential change by capitalizing \"if\" \u2192 \"If.\" Although it includes less surrounding context (omitting \"he\"), it still reflects the core correction (capitalizing the leading \"i\" in \"if\"), so the intended edit is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces the word \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution \"said\" \u2192 \"asked\". Although it omits the following context (\"Clennam\"), it still represents the essential intended change. Therefore, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do if",
            "corrected_text": "do? if",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:28:53.496823",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:21:27.718068",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he,\" i.e., capitalizing the initial \"i\" in \"if\" while leaving \"he\" unchanged. The prediction changes \"if\" to \"If,\" capturing the same core correction (capitalizing \"if\"). Although it includes less surrounding context (omits \"he\"), it still represents the essential intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said Clennam\" with \"asked Clennam\", meaning the core change is \"said\" \u2192 \"asked\" while retaining the surrounding context (\"Clennam\"). The predicted edit replaces \"said\" with \"asked\" without including the trailing context, but it captures the essential intended substitution. Since additional surrounding words are optional and the core change is correctly identified, the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:29:11.630310",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:21:37.149509",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same core change by converting \"if\" \u2192 \"If.\" Although it omits the following word (\"he\") from the span, the essential intended correction\u2014capitalizing \"if\"\u2014is correctly represented, and additional surrounding context is not required."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core intended substitution \"said\" \u2192 \"asked\". Although it omits the surrounding context word (\"Clennam\"), capturing the essential word-level replacement is sufficient and aligns with the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:29:23.932423",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:23:09.023420",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both the ground truth and the predicted edit are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same change from \"high road\" to \"high-road,\" correctly capturing the intended hyphenation. Therefore, the prediction matches the ground truth in both type and core text change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth. Text Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials.\" The core punctuation change is identical, so the prediction matches the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"about\" in the phrase \"about and\" to make it \"about, and\". The original and corrected text strings match the ground truth intention exactly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: removing the comma in \"association, did\" to produce \"association did.\" This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), inserting a comma after \"earnestly.\" The core change is identical, so the content matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"said\" in the phrase \"said when\" (i.e., \"said when\" \u2192 \"said, when\"). The predicted edit \"said\" \u2192 \"said,\" captures the same essential punctuation change (adding a comma immediately after \"said\"). Although the prediction omits the following word \"when\" as context, it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The prediction performs the same core punctuation change\u2014adding a comma after \"Clennam\"\u2014while including additional surrounding context (\"in amazement\"). This preserves the essential intended edit."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said, when",
            "corrected_text": "said when",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:29:27.256077",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:23:03.633225",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction change \"high road\" to \"high-road,\" capturing the identical core correction (inserting a hyphen). Therefore, the prediction correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation: \"materials costing\" \u2192 \"materials, costing,\" inserting a comma after \"materials.\" This captures the core intended punctuation change with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"about and\" to \"about, and\", correctly capturing the insertion of a comma after \"about\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly.\" The core intended punctuation change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change, inserting a comma after \"said\" to convert \"said when\" to \"said, when.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same core change: replacing \"said\" with \"said,\" by adding a comma. There is no discrepancy in the original or corrected text. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type set to \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam\". Therefore the prediction matches the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:29:35.146980",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:23:38.825768",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"high road\" to \"high-road,\" capturing the same core punctuation change (inserting a hyphen). There is no discrepancy in the original or corrected text content.\n\nTherefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials.\" The core punctuation correction is identical. Therefore, the predicted edit correctly captures the intended change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change, inserting a comma to convert \"about and\" to \"about, and.\" The essential edit is identical."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same change from \"association, did\" to \"association did\", i.e., removing the comma after \"association\". This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), inserting a comma after \"earnestly.\" This captures the identical core change with no discrepancy."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when\". The prediction captures the same essential change by editing \"said\" \u2192 \"said,\". Although it does not include the following word \"when\" in its context, it still represents the core intended punctuation insertion at the correct location (after \"said\"). Therefore, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same correction (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said, when",
            "corrected_text": "said when",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:29:35.500612",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:22:31.817099",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as type \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the same core correction with identical original and corrected text. Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:29:51.151848",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:22:36.549334",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core punctuation change is identical, so the intended correction is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:29:53.312553",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:22:43.593395",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2. Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core punctuation change is identical in the predicted edit, matching the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:30:07.805443",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:23:35.338157",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"dull autumn\" to \"dull, autumn\" by inserting a comma after \"dull\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Saone\") and the same corrected text (\"Sa\u00f4ne\"), capturing the intended addition of the circumflex accent over the 'o'. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). This captures the same core correction with identical original and corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XI",
            "corrected_text": "XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:30:07.655109",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:23:10.977767",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change of inserting a comma after \"dull\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same core change: replacing \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The original and corrected text strings are identical between ground truth and prediction. Therefore the predicted edit captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly. Text Content Accuracy: Both edits replace the original text \"Saone\" with the corrected text \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core change is identical in the prediction and the ground truth. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"Chalons was\" to \"Chalons, was\", inserting a comma after \"Chalons\". The core intended change is identical in the prediction and ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:30:29.350551",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:23:39.197801",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change\u2014adding a comma after \"dull\". Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same substitution from \"Saone\" to \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core intended correction is captured identically. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core change is identical, with no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"man slowly\" to \"man, slowly\", correctly capturing the intended insertion of a comma after \"man\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:30:26.007403",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:24:31.387744",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"heart\"\u2014with identical original_text (\"heart so\") and corrected_text (\"heart, so\"). Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core punctuation insertion in the same place, but includes extra surrounding context (\"at length said\" \u2192 \"at length, said\"). Including additional context is allowed as long as the essential change is the same, which it is here.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "(as she did, if it be the source of earnestness),",
            "corrected_text": "indeed,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:30:32.951319",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:24:13.984457",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core change\u2014adding a comma after \"length\"\u2014but includes extra surrounding context (\"at length said\" \u2192 \"at length, said\"). This preserves the essential punctuation correction identified in the ground truth.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"I hope so\" to \"I hoped so,\" which is essentially changing the word \"hope\" to \"hoped\" while leaving the surrounding words unchanged. The prediction replaces \"hope\" with \"hoped,\" capturing the core intended correction (present tense to past tense). Although the prediction includes less surrounding context than the ground truth, it correctly represents the essential change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:30:36.547464",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:25:11.564456",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"heart so\") and the same corrected text (\"heart, so\"), capturing the core intended change of inserting a comma after \"heart\". Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core change, just with extra surrounding context (\"at length said\" \u2192 \"at length, said\"). Since the essential punctuation insertion is identical and correctly placed, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"). The core change\u2014shifting from present tense \"hope\" to past tense \"hoped\"\u2014is captured identically. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "did",
            "corrected_text": "did indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:30:58.951378",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:25:08.562866",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"hers\" in the phrase \"hers and\" to become \"hers, and.\" The original and corrected text strings match the ground truth\u2019s intended punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers\". The core punctuation change is identical in the prediction and the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The core intended punctuation change is captured precisely with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly, They",
            "corrected_text": "directly, \u201cThey",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:31:02.479970",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:24:19.541973",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"hers and\" to \"hers, and,\" inserting a comma after \"hers.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers\". The core change is identical in the prediction and ground truth. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the identical correction from \"moment with\" to \"moment, with,\" inserting a comma after \"moment.\" The core change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same corrected text (\"beautiful, that\"), capturing the identical core change\u2014adding a comma after \"beautiful\". Therefore the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth. Text Content Accuracy: Both ground truth and prediction change the same token from \"they\" to \"They,\" capturing the identical core correction with no discrepancy. Therefore, the prediction correctly matches the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:31:07.545745",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:24:53.001572",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change the phrase from \"hers and\" to \"hers, and\", inserting a comma after \"hers\". This captures the exact core punctuation correction intended by the ground truth with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction apply the same core change: inserting a comma after \"hers\" in the phrase \"hers matters,\" resulting in \"hers, matters.\" The original and corrected text fields match exactly, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same corrected text (\"beautiful, that\"), capturing the identical core change of inserting a comma after \"beautiful\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change, converting \"they\" to \"They\". There is no discrepancy in original or corrected text. Therefore, the prediction captures the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:31:07.431742",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:25:28.358531",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both indicate replacing the original text \"that\" with the corrected text \"than\". This captures the same core change with no discrepancy. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:31:34.853341",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:25:25.284752",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"shore and\" to \"shore, and\" by inserting a comma after \"shore\". The original_text and corrected_text are identical in both, capturing the same core change with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth specifies a \"replacement\" and the predicted edit is also a \"replacement\", so the type matches exactly.\nText Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". This captures the same core change with no discrepancy. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you\"",
            "corrected_text": "Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:31:36.152323",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:25:11.001654",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit specify the type as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change the phrase from \"shore and\" to \"shore, and\", inserting a comma after \"shore\". This captures the core intended punctuation change with identical original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as a \"replacement\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate replacing the original text \"that\" with the corrected text \"than\". The core change is identical with no discrepancy. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:32:05.028305",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:26:25.954830",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation: \"city\" \u2192 \"City.\" This captures the core intended change with no discrepancy.\n\nTherefore, the predicted edit correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both indicate replacing the original text \"of\" with the corrected text \"to\". This captures the exact core change required. Line numbers are ignored as instructed and do not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth indicates inserting a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, adding a comma after \"existence\" while including additional surrounding context (\"existence at\" \u2192 \"existence, at\"). This preserves the essential intended punctuation change.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction inserts that same comma after \"motionless\" while including the following word as context (\"motionless when\" \u2192 \"motionless, when\"). This captures the core intended punctuation change accurately."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds a comma immediately after \"view\" within a larger phrase (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation insertion at the correct location, with only additional surrounding context included. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them images",
            "corrected_text": "them; images",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:31:41.563871",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:26:06.977317",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"city\" to \"City\", capturing the identical core change (capitalizing the first letter). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2. Text Content Accuracy: Both specify replacing the original text \"of\" with the corrected text \"to\". The core intended change is identical, with no discrepancy in the word being replaced or the replacement word."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing the comma with a semicolon (\"them,\" \u2192 \"them;\"). The original and corrected texts are identical between ground truth and prediction, so the intended punctuation correction is captured correctly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core correction, changing \"it,\" to \"it;\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"stand-still,\" and the same correction to \"stand-still;\", capturing the identical core change (comma to semicolon). Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change within a larger context (\"view by\" \u2192 \"view, by\"), which still places the comma immediately after \"view.\" This captures the essential intended punctuation edit accurately."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change in the same location: \"existence,\" is corrected to \"existence;\". The core intended punctuation change (comma to semicolon) is captured exactly."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lord and",
            "corrected_text": "lord, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:32:21.211683",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:26:21.594799",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly. Text Content Accuracy: Both specify changing \"city\" to \"City,\" which captures the same core correction (capitalizing the initial letter). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly. Text Content Accuracy: Both edits replace the original text \"of\" with the corrected text \"to\". The core change is identical, with no discrepancy in the replaced or replacement text. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"them,\") and the same corrected text (\"them;\"), capturing the identical core change from a comma to a semicolon after \"them\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"it,\" to \"it;\" (comma to semicolon after \"it\"). The prediction changes \"it, to\" to \"it; to,\" which includes extra surrounding context but preserves the same core punctuation change at the same point (comma after \"it\" becomes a semicolon). Therefore, it captures the essential intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still, to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation immediately following \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The predicted edit applies the same core change, but includes additional surrounding context (\"stand-still, to\" \u2192 \"stand-still; to\"). The essential punctuation change is identical and correctly captured."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit applies the same essential change within a slightly larger context (\"view by\" \u2192 \"view, by\"), which still places the comma immediately after \"view.\" This captures the core intended punctuation correction."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence, is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing the comma after \"existence\" with a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction applies the same core punctuation change while including additional surrounding context (\"existence, is\" \u2192 \"existence; is\"). This preserves the essential intended correction.\n\nBecause both the edit type and the core text change match the ground truth intention, the predicted edit is correct."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence, at",
            "corrected_text": "existence; at",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless; when",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:32:10.325491",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:27:03.282354",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same core change, replacing \"authorize\" with \"authorise\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Your own recompense for all this, Mr. Pancks,",
            "corrected_text": "*Your own recompense for all this, Mr. Pancks,*",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that-boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him)",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:32:14.630846",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:27:28.444918",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "*him*",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"italicize,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth indicates that the word \"him\" should be italicized without changing the literal characters (original_text and corrected_text both \"him\"). The prediction represents the italic formatting explicitly as \"*him*\" in corrected_text. Although this adds markup characters, it accurately captures the core intended change: applying italics to the word \"him\". The essential edit (italics applied to \"him\") is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the same original text \"authorize\" with the same corrected text \"authorise\". This captures the identical core change (American to British spelling). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:32:40.983774",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:26:51.052463",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly. Text Content Accuracy: Both identify the same target text \"him\" with no change in wording (only formatting/italicization), matching the core intended edit. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"authorize\") and the same corrected text (\"authorise\"), capturing the identical core spelling change. Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that-boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:32:42.544329",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:26:59.627239",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have the type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core change is identical. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "ForMr.",
            "corrected_text": "For Mr.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:32:49.346929",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:26:50.135081",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "ForMr.",
            "corrected_text": "For Mr.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "quickly,that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me; not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_openai_gpt_5_3_codex",
        "date": "2026-03-05T19:32:52.748648",
        "annotator": "GPT-5.3 Codex (OR)",
        "annotation_date": "2026-03-05T19:26:41.139696",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "ForMr.",
            "corrected_text": "For Mr.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2026-02-05",
    "release_source": "https://openai.com/index/introducing-gpt-5-3-codex/",
    "release_notes": "OpenRouter route to the same GPT-5.3-Codex release."
  },
  {
    "model_name": "GPT-5.4",
    "model_id": "gpt-5.4",
    "date": "2026-03-05T19:46:34.815396",
    "shots": 2,
    "config": {
      "model_id": "gpt-5.4",
      "display_name": "GPT-5.4",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-03-05",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-5.4",
    "annotation_date": "2026-03-05T19:27:38.114334",
    "file_results": [
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:34:07.339845",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:27:38.114334",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period to the end of the phrase \"Fellow Travellers\" (i.e., making it \"Fellow Travellers.\"). The predicted edit adds a period after \"Travellers\" (\"Travellers\" \u2192 \"Travellers.\"). Even though it omits the preceding word \"Fellow\" from the original/corrected span, it captures the core intended change: inserting a period at the end of the same phrase/sentence ending. This is an acceptable narrower-context span that still reflects the essential correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the core intended change\u2014adding a comma after \"howling\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Sir\" to \"sir\", capturing the identical core change (lowercasing the initial letter). Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2. Text Content Accuracy: Both specify the same transformation from \"pockets and\" to \"pockets, and\", correctly capturing the intended insertion of a comma after \"pockets\". No discrepancy in the core change."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:34:10.251087",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:27:41.010484",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. This captures the same core punctuation correction with identical original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"howling\" in the phrase \"howling over\" \u2192 \"howling, over\". The predicted edit captures this same core punctuation change by editing \"howling\" \u2192 \"howling,\". Although it does not include the following word \"over\" in its span, it still reflects the essential intended correction (adding a comma after \"howling\")."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth intends to insert a comma after the word \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day\". The prediction captures this same core change by editing \"yonder\" \u2192 \"yonder,\". Although it omits the following word \"to-day\" as context, it still correctly represents the essential punctuation insertion at the correct location."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change from \"Sir\" to \"sir\". The predicted edit captures the identical original and corrected text, matching the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and\". The predicted edit captures the same core change by changing \"pockets\" \u2192 \"pockets,\". Although it omits the following word \"and\" from the context, it still represents the essential punctuation insertion at the correct location. Therefore, the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:34:07.274856",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:28:28.227294",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Fellow Travellers\") and the same corrected text (\"Fellow Travellers.\"), capturing the core intended change of adding a period at the end. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth change inserts a comma after \"howling\" (\"howling over\" \u2192 \"howling, over\"). The predicted edit specifies the same original text and the same corrected text, capturing the identical punctuation change. Therefore, the core intended edit is matched."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), inserting a comma after \"yonder\". The core change is captured identically."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"Sir\" to \"sir\". The core intended correction (lowercasing the word) is captured identically."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"pockets\" so that \"pockets and\" becomes \"pockets, and\". The original_text and corrected_text match the ground truth\u2019s core change exactly."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:34:06.705619",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:28:17.591637",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir\", inserting a comma after \"No\". The core intended punctuation correction is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word in the phrase \"why did he dine\" (changing \"why\" to \"Why\"). The predicted edit targets only the word \"why\" \u2192 \"Why\", which captures the essential correction (capitalizing the first word). Although it includes less surrounding context than the ground truth, it implements the same core change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation point to a question mark (\"cold stones!\" \u2192 \"cold stones?\"). The prediction captures the same core change on the same word/ending (\"stones!\" \u2192 \"stones?\"). Although it omits the preceding word \"cold\" in the span, it still represents the essential intended edit: replacing \"!\" with \"?\" at the end of the phrase. Therefore the text content matches the ground truth's intention."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:34:31.466447",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:29:23.763067",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both apply the identical core punctuation change, converting \"No sir\" to \"No, sir\" by inserting a comma after \"No.\" There is no discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction identify the change as a \"capitalization\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase, changing \"why did he dine\" to \"Why did he dine\". The prediction focuses on just the changed token, \"why\" \u2192 \"Why\", which captures the core intended correction (capitalizing the first word). Although it omits the surrounding context (\"did he dine\"), it still accurately represents the essential edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing the exclamation mark with a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction captures the same core punctuation change on the relevant word/segment: \"stones!\" \u2192 \"stones?\". Although it omits the preceding word \"cold\", it still reflects the essential intended edit (changing ! to ? at the end of the phrase)."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:34:34.736724",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:28:19.195396",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction targets the same core change by converting \"why\" \u2192 \"Why.\" Although it includes less surrounding context, it captures the essential intended edit: capitalizing the initial \"w\" in \"why.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change, replacing the exclamation mark with a question mark: \"cold stones!\" \u2192 \"cold stones?\". The essential edit is captured precisely."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:34:31.138032",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:27:54.365998",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he,\" which consists of capitalizing the initial \"if\" while leaving \"he\" unchanged. The prediction changes \"if\" to \"If,\" capturing the same core capitalization change, just with less surrounding context. Since the essential edit (lowercase to uppercase on \"if\") is correctly represented, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction replaces \"said\" \u2192 \"asked\" without including the trailing context \"Clennam\", but it captures the core intended change (the word substitution). Omitting surrounding context does not alter the essential correction being made."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:34:41.670263",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:28:17.077081",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"capitalization,\" which matches the ground truth exactly.\n\nText Content Accuracy: The ground truth capitalizes the word \"if\" in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same essential change by capitalizing \"if\" \u2192 \"If.\" Although it includes less surrounding context (omits \"he\"), it still represents the core intended correction (capitalizing the initial \"if\"). Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction replaces \"said\" \u2192 \"asked\" without including the following context (\"Clennam\"), but it captures the essential intended change (changing the verb from \"said\" to \"asked\"). Including less surrounding text is acceptable as long as the core change is correct.\n\nTherefore, both criteria are satisfied."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:34:57.528569",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:28:34.442682",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"if he\" \u2192 \"If he\"). The predicted edit capitalizes the same word but with less surrounding context (\"if\" \u2192 \"If\"). This still captures the core intended change\u2014capitalizing \"if\" to \"If\"\u2014and omitting the following word \"he\" does not alter the essential correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the essential substitution \"said\" \u2192 \"asked\" even though it omits the surrounding context (\"Clennam\"). Since the core intended change is the same word replacement, the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:35:02.381285",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:30:19.642573",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"high road\" to \"high-road,\" capturing the same core hyphenation correction with identical original and corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing,\" inserting a comma after \"materials.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same correction (\"about, and\"), capturing the identical core change: inserting a comma after \"about\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the types match exactly.\n\nText Content Accuracy: Both ground truth and prediction apply the same punctuation change, inserting a comma after \"earnestly\" in the phrase \"earnestly telling\" to become \"earnestly, telling\". The original_text and corrected_text match the ground truth\u2019s core change exactly."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation, inserting a comma after \"said\" (\"said when\" \u2192 \"said, when\"). The core intended punctuation change is captured with identical original and corrected text."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core punctuation change, converting \"said\" to \"said,\" by adding a comma. The essential edit is identical, so the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:35:13.744341",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:30:01.181837",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth change is to hyphenate \"high road\" to \"high-road.\" The prediction identifies the same original text and the same corrected text, capturing the exact intended punctuation change.\n\nBecause both the edit type and the core text change match exactly, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials.\" The core intended punctuation correction is captured exactly with no deviation."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"about and\" to \"about, and\", correctly inserting a comma after \"about\". The essential edit is identical."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"said when\" to \"said, when\" by inserting a comma after \"said.\" The core punctuation change is identical with no discrepancy in original or corrected text."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, adding a comma after \"said\" (\"said\" \u2192 \"said,\"). The predicted edit fully captures the ground truth intention with no discrepancy."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same correction (\"Clennam, in\"), capturing the core intended change: inserting a comma after \"Clennam\". No discrepancy in the essential edit."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "associa- tion",
            "corrected_text": "association",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:35:16.892096",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:31:08.762450",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The predicted change matches the ground truth core correction, converting \"high road\" to \"high-road\" by inserting a hyphen. There are no differences in the original or corrected text strings. Therefore, the prediction captures the intended edit precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials.\" This captures the same core punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"about\" to change \"about and\" to \"about, and.\" The essential punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". The core punctuation change is identical, so the content matches the intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"said when\") and the same corrected text (\"said, when\"), capturing the core change of inserting a comma after \"said.\" Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change: \"said\" \u2192 \"said,\" (adding a comma after \"said\"). The corrected text and original text match the ground truth\u2019s intention exactly."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". This captures the same core punctuation correction with identical original and corrected text. Therefore, the content matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Vecchia, So",
            "corrected_text": "Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:35:21.661568",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:28:49.829447",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the edit type matches exactly. Text Content Accuracy: Both specify the same change, adding a period to transform \"Sun and Shadow\" into \"Sun and Shadow.\". The core punctuation correction is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:35:28.238075",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:29:04.563966",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change\u2014adding a period to the end of \"Sun and Shadow\" to make it \"Sun and Shadow.\" The original and corrected texts match the ground truth\u2019s intention with no discrepancies."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:35:46.926400",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:29:10.999967",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intention is to ensure the phrase ends with a period: \"Sun and Shadow\" \u2192 \"Sun and Shadow.\". The predicted edit also results in the same corrected text, changing the ending punctuation to a period: \"Sun and Shadow,\" \u2192 \"Sun and Shadow.\". Although the predicted original text includes a comma that is not present in the ground truth original, the core intended correction (making the ending punctuation a period) is captured correctly."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:35:55.760730",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:30:51.762755",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"dull autumn\" \u2192 \"dull, autumn\", inserting a comma after \"dull\". The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core change is identical, with no discrepancies in original or corrected text. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex accent over the 'o'). The original and corrected texts are identical between ground truth and prediction, so the core change is captured precisely."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"man slowly\" \u2192 \"man, slowly\" (inserting a comma after \"man\"). This captures the core intended correction with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same correction (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:36:06.821515",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:31:19.783547",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Let Loose\" to \"Let Loose.\" by adding a period at the end. The core intended punctuation change is captured precisely with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"dull autumn\" to \"dull, autumn\", inserting a comma after \"dull\". The core punctuation correction is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both change the original text \"Saone\" to the corrected text \"Sa\u00f4ne\" (adding the circumflex over the o). The core intended correction is identical in both."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly. Text Content Accuracy: Both edits replace the same original text \"Saone\" with the same corrected text \"Sa\u00f4ne\" (adding the circumflex over the 'o'). This captures the core intended change precisely, with no discrepancy in the before/after text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"man\" in the phrase \"man slowly\" to become \"man, slowly\". The original and corrected texts match the ground truth exactly. Therefore, the predicted edit captures the intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change: insertion of a comma after \"Chalons\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:36:03.051299",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:31:10.608333",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original phrase (\"man slowly\") and the same correction (\"man, slowly\"), capturing the identical core change\u2014adding a comma after \"man\". Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both ground truth and prediction change \"Chalons was\" to \"Chalons, was\", inserting a comma after \"Chalons\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sa\u00f4ne it",
            "corrected_text": "Sa\u00f4ne, it",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:36:18.183431",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:32:13.027904",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits make the same core change, inserting a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The original and corrected text strings match the ground truth exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"length said\") and the same corrected_text (\"length, said\"), capturing the identical core change\u2014adding a comma after \"length\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes the verb tense in the phrase \"I hope so\" \u2192 \"I hoped so\" (i.e., \"hope\" \u2192 \"hoped\" while leaving surrounding words intact). The prediction captures this same core change by replacing \"hope\" with \"hoped\". Although it provides less surrounding context than the ground truth, it correctly represents the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:36:26.172387",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:32:08.403613",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"heart so\" to \"heart, so,\" inserting a comma after \"heart.\" The core punctuation correction is identical."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change the same original text \"length said\" to the same corrected text \"length, said\", inserting a comma after \"length\". This captures the core intended change precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 35,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth replaces \"I hope so\" with \"I hoped so,\" which is essentially changing the verb form \"hope\" \u2192 \"hoped\" while keeping the surrounding words the same. The predicted edit captures this core change directly by replacing \"hope\" with \"hoped.\" Although it provides less surrounding context than the ground truth, it correctly represents the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked",
            "corrected_text": "indeed thanked",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:36:30.096508",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:32:27.242875",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"heart so\") and the same corrected text (\"heart, so\"), capturing the core intended change of inserting a comma after \"heart\". No discrepancies in the essential edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction inserts the same comma at the same location, but includes extra surrounding context (\"at\" before). Since the core change\u2014adding a comma after \"length\" before \"said\"\u2014is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same substitution, changing \"I hope so\" to \"I hoped so.\" The core intended change (tense shift from present to past) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him",
            "corrected_text": "indeed thanked him",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:36:38.595642",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:32:08.155449",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type set to \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"hers and\" \u2192 \"hers, and\", correctly capturing the intended insertion of a comma after \"hers\". There is no discrepancy in the core change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers\". The core punctuation change is identical, so the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the types match exactly.\n\nText Content Accuracy: Both edits target the same original string \"moment with\" and correct it to \"moment, with\" by inserting a comma after \"moment\". This captures the core intended change precisely. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"beautiful that\" to \"beautiful, that\", inserting a comma after \"beautiful\". The core punctuation change is identical, so the text content matches the ground truth intention. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 33,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\nText Content Accuracy: Both edits change the same word from \"they\" to \"They\", capturing the identical core capitalization correction. Line number difference is ignored as instructed."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:36:58.135773",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:32:40.065324",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers matters\" \u2192 \"hers, matters.\" The prediction captures the same core correction by changing \"hers\" \u2192 \"hers,\" (even though it omits the following word \"matters\"). This still reflects the essential intended edit: adding a comma immediately after \"hers.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"moment\" (\"moment with\" \u2192 \"moment, with\"). The predicted edit (\"moment\" \u2192 \"moment,\") captures this same core punctuation insertion. Although it omits the following word \"with\" from the context, it still represents the essential intended correction: adding a comma after \"moment.\""
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that.\" The predicted edit \"beautiful\" \u2192 \"beautiful,\" captures the same essential punctuation change (adding a comma immediately after \"beautiful\"). Although it includes less surrounding context (it does not show the following word \"that\"), it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core transformation: \"they\" \u2192 \"They\". The essential capitalization change is identical, with no discrepancies in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:37:03.069234",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:33:01.632494",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and.\" The predicted edit \"hers\" \u2192 \"hers,\" captures the same core punctuation change (adding a comma immediately after \"hers\"). Although it omits the following word \"and\" as context, it still correctly represents the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"hers matters\" to \"hers, matters,\" which is fundamentally an insertion of a comma after \"hers.\" The predicted edit changes \"hers\" to \"hers,\", which captures the same core punctuation change (adding a comma immediately after \"hers\"). Although the prediction includes less surrounding context (it omits \"matters\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"moment\" in the phrase \"moment with\" \u2192 \"moment, with\". The predicted edit \"moment\" \u2192 \"moment,\" captures the same essential punctuation change (adding a comma immediately after \"moment\"). Although it provides less surrounding context (it omits \"with\"), it still represents the core intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that.\" The predicted edit \"beautiful\" \u2192 \"beautiful,\" captures the same core punctuation insertion (adding a comma immediately after \"beautiful\"). Although it provides less surrounding context (it omits \"that\"), it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change from \"they\" to \"They\". There is no discrepancy in the original or corrected text. Therefore, the prediction captures the intended edit."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:37:04.120260",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:33:12.480687",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (inserting a comma to make \"shore, and\"). The core change\u2014adding the comma after \"shore\"\u2014is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\nText Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". This captures the identical core change with no discrepancy. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:37:13.363218",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:33:31.780525",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have the type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Thank you!\" to \"Thank you,\", replacing the exclamation mark with a comma. The core punctuation change is identical. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \"shore\" in the phrase \"shore and\" \u2192 \"shore, and\". The predicted edit captures the same core punctuation change by changing \"shore\" \u2192 \"shore,\". Although it omits the following word \"and\" from the context, it still correctly represents the essential intended correction: adding a comma after \"shore\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". The core intended change is captured identically with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy",
            "corrected_text": "fancy,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:45:24.124085",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:33:56.406282",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, replacing the exclamation mark with a comma (\"Thank you!\" \u2192 \"Thank you,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after the word \"shore\" in the phrase \"shore and\" \u2192 \"shore, and\". The predicted edit captures the same core change by converting \"shore\" \u2192 \"shore,\". Although it omits the following word \"and\" from the original/corrected spans, it still represents the essential intended punctuation insertion at the correct location (immediately after \"shore\"). Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same replacement of the word \"that\" with \"than\". The core intended change is identical in the prediction and ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy",
            "corrected_text": "fancy,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:45:37.657343",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:34:48.536334",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: adding a period to convert \"Chapter XXIX\" into \"Chapter XXIX.\". The original_text and corrected_text are identical between ground truth and prediction, capturing the core intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\nText Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City\". There is no discrepancy in the original or corrected text, and the essential capitalization intent is fully captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same substitution, changing \"of\" to \"to\". The core intended change is captured without discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same substitution, changing \"them,\" to \"them;\". This captures the core intended punctuation change with identical original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\nText Content Accuracy: Both edits change \"motionless\" to \"motionless,\" by adding a comma immediately after the word. The core intended punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"view\" (\"view\" \u2192 \"view,\"). The original and corrected texts are identical between ground truth and prediction, so the intended punctuation insertion is captured correctly."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lord",
            "corrected_text": "lord,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:45:46.463621",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:35:31.579695",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both identify the same change from \"city\" to \"City\". The core intended correction (capitalizing the word) is captured precisely with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"of\" with \"to\". The core change is identical, with no discrepancy in original or corrected text. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit adds a comma in the same location, shown with additional surrounding context (\"existence at\" \u2192 \"existence, at\"). This captures the same core punctuation insertion intended by the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth edit inserts a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit applies the same core change, inserting a comma after \"motionless\" in a slightly longer span of text (\"motionless when\" \u2192 \"motionless, when\"). This added context does not alter the essential correction and accurately captures the intended punctuation change."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit (\"view by\" \u2192 \"view, by\") also inserts a comma immediately after \"view.\" Although it includes extra surrounding context (the word \"by\"), it captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them images",
            "corrected_text": "them; images",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:45:53.581943",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:35:31.253945",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\". The original_text and corrected_text are identical between ground truth and prediction, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. Text Content Accuracy: Both specify changing \"city\" to \"City\", which captures the identical core correction (capitalizing the first letter). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing the original text \"of\" with the corrected text \"to\". This captures the core intended change with identical original and corrected tokens. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same core change, replacing \"them,\" with \"them;\". The original and corrected text match the ground truth\u2019s intention with no discrepancies."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2. Text Content Accuracy: The ground truth intends to insert a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change within a slightly larger context (\"existence at\" \u2192 \"existence, at\"), which still clearly captures the essential insertion of the comma immediately after \"existence.\" Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit applies the same core change in a slightly larger context (\"motionless when\" \u2192 \"motionless, when\"), which still clearly represents inserting a comma immediately after \"motionless.\" Therefore, it captures the essential intended correction."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the predicted edit are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change within a longer span (\"view by\" \u2192 \"view, by\"), which correctly captures the essential insertion of the comma immediately after \"view\". The extra context word \"by\" does not alter the intended correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:45:55.387445",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:35:47.298736",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "<i>him</i>",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"italicize\", which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth indicates that the word \"him\" should be italicized without changing the literal characters of the word (original_text and corrected_text are both \"him\"). The prediction represents the same intention by outputting \"<i>him</i>\", which is a common explicit markup for italicization. Although the corrected_text differs in raw characters due to the added HTML tags, the core intended change\u2014italicizing the word \"him\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core change, replacing \"authorize\" with \"authorise\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:46:09.381915",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:36:17.970519",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\n\nText Content Accuracy: Both identify the same target text \"him\" with no change in spelling (only formatting via italics). The prediction captures the same core formatting change intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both identify the same original text (\"authorize\") and the same corrected text (\"authorise\"), capturing the identical core change (American spelling to British spelling). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:46:18.978669",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:36:08.988651",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly.\n\nText Content Accuracy: Both the ground truth and prediction apply italics to the same token, \"him\" (original_text and corrected_text are identical in both). The essential change\u2014formatting \"him\" in italics\u2014is captured correctly with no mismatch in the target text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"now I\" to \"now, I\", inserting a comma after \"now\". The core punctuation correction is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"authorize\" with \"authorise\". The core intended change (American to British spelling) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "little",
            "corrected_text": "little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:46:21.123693",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:44:29.284174",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly,",
            "corrected_text": "quickly",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me",
            "corrected_text": "me,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:46:19.830340",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:37:57.520581",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "morning;",
            "corrected_text": "morning,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly,",
            "corrected_text": "quickly",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.4",
        "date": "2026-03-05T19:46:34.815396",
        "annotator": "GPT-5.4",
        "annotation_date": "2026-03-05T19:38:48.048188",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "a skirt",
            "corrected_text": "as a skirt",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly,",
            "corrected_text": "quickly",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2026-03-05",
    "release_source": "https://openai.com/index/introducing-gpt-5-4/"
  },
  {
    "model_name": "GPT-5.5",
    "model_id": "gpt-5.5",
    "date": "2026-04-26T00:12:49.943858",
    "shots": 2,
    "config": {
      "model_id": "gpt-5.5",
      "display_name": "GPT-5.5",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-04-25",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-5.5",
    "annotation_date": "2026-04-25T23:14:37.898992",
    "file_results": [
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:09:38.358379",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:14:37.898992",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to change \"Fellow Travellers\" to \"Fellow Travellers.\" The original_text and corrected_text match the ground truth intention precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change: inserting a comma after \"yonder\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change, converting \"Sir\" to \"sir\". There is no discrepancy in original or corrected text. Therefore the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"pockets and\") and the same correction (\"pockets, and\"), capturing the identical core change of inserting a comma after \"pockets\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir, is",
            "corrected_text": "Sir; is",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:09:29.502896",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:32:09.177225",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core intended punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original span (\"howling over\") and the same correction (inserting a comma to make \"howling, over\"). The core intended punctuation change is captured precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), inserting a comma after \"yonder\". The core change is identical. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"Sir\" to \"sir,\" capturing the identical core correction (lowercasing the initial letter). No discrepancies in original or corrected text content."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same correction (\"pockets, and\"), inserting a comma after \"pockets\". The core intended change is captured identically. Therefore, the predicted edit matches the ground truth."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:09:24.653611",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:48:44.072093",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore, the prediction fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"yonder to-day\" to \"yonder, to-day\", inserting a comma after \"yonder\". The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same change from \"pockets and\" to \"pockets, and\", correctly capturing the intended insertion of a comma after \"pockets\". No discrepancy in the core edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:09:23.550607",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:14:47.139291",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"No sir\") and the same corrected text (\"No, sir\"), capturing the identical core change\u2014adding a comma after \"No\". Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial word in the phrase, changing \"why did he dine\" to \"Why did he dine\". The predicted edit captures the same core change by changing \"why\" to \"Why\". Although it includes less surrounding context than the ground truth, it correctly identifies and applies the essential capitalization correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction applies the same core punctuation change on a slightly shorter span: \"stones!\" \u2192 \"stones?\". Although it omits the preceding word \"cold\", it still captures the essential intended correction (changing ! to ? on the same phrase ending with \"stones\"). Therefore, the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:09:37.910209",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:32:09.383772",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both edits change \"No sir\" to \"No, sir\" by inserting a comma after \"No.\" This captures the exact core correction intended in the ground truth with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates capitalizing the initial word of the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The predicted edit captures the core change by capitalizing just the word \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it correctly represents the essential intended correction (capitalizing the initial 'w' in 'why')."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation point to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction captures the same core change on the word \"stones!\" \u2192 \"stones?\". Although it omits the preceding word \"cold,\" it still reflects the essential intended edit: replacing \"!\" with \"?\" at the end of the phrase. Therefore, the text content matches the ground truth's intention."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:09:38.489638",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:47:48.315486",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"No sir\") and the same corrected text (\"No, sir\"), capturing the identical core change\u2014adding a comma after \"No\". Therefore the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word of the phrase (\"why\" \u2192 \"Why\") within the larger context \"why did he dine\" \u2192 \"Why did he dine\". The prediction captures this core change by specifying \"why\" \u2192 \"Why\". Although it includes less surrounding context, it correctly represents the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction captures the same core change\u2014replacing \"!\" with \"?\"\u2014but applies it to the shorter span \"stones!\" \u2192 \"stones?\". This still reflects the essential intended correction (changing the sentence-ending punctuation after \"stones\"), and omitting the preceding word \"cold\" is acceptable as missing context, not a different edit.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:09:26.302630",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:14:16.408445",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he,\" which is specifically capitalizing the word \"if\" at the start of the phrase. The prediction changes \"if\" to \"If\"\u2014it captures the same core change (lowercase to uppercase for \"if\"). Although it omits the following word \"he\" as context, the essential intended correction is still accurately represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\" edits, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb phrase \"said Clennam\" to \"asked Clennam\". The prediction replaces only \"said\" with \"asked\", leaving \"Clennam\" implicit/unchanged. This captures the core intended change (said \u2192 asked). Additional surrounding context is optional, so omitting \"Clennam\" does not alter the essential correction."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:09:25.457356",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:32:01.581165",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word in the phrase: \"if he\" \u2192 \"If he\". The predicted edit \"if\" \u2192 \"If\" captures the same core correction (capitalizing \"if\"). Although it includes less surrounding context (omits \"he\"), it still reflects the essential intended change.\n\nTherefore, both criteria are satisfied."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core intended change by replacing \"said\" \u2192 \"asked\" (even though it omits the surrounding context \"Clennam\"). Since the essential word substitution is correctly identified and the remaining context is unchanged, the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:09:56.335529",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:47:26.735257",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 37,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"if\" at the start of the phrase \"if he\" (\"if he\" \u2192 \"If he\"). The prediction captures the same core change by converting \"if\" to \"If.\" Although it omits the following word \"he\" from the original/corrected_text fields, it still represents the essential intended correction (capitalizing \"if\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 40,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are a \"replacement\" edit, so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the verb in the phrase \"said Clennam\" to \"asked Clennam\"\u2014the core intended correction is \"said\" \u2192 \"asked\". The prediction captures this same essential change, even though it includes less surrounding context (it replaces only \"said\" with \"asked\"). Omitting \"Clennam\" does not change the core correction being made.\n\nTherefore, the predicted edit matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:09:28.145655",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:15:09.426173",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both identify the same original text (\"high road\") and the same correction (\"high-road\"), capturing the identical core change of inserting a hyphen between the words. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"materials\" to change \"materials costing\" to \"materials, costing.\" The original and corrected texts are identical between ground truth and prediction, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same correction (\"about, and\"), capturing the identical core change of inserting a comma after \"about\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change: inserting a comma after \"earnestly\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original segment (\"said when\") and the same correction (\"said, when\"), capturing the identical core punctuation insertion (adding a comma after \"said\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the identical core change: \"said\" \u2192 \"said,\", i.e., inserting a comma after the word \"said\". There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original segment (\"Clennam in\") and the same correction (\"Clennam, in\"), inserting a comma after \"Clennam\". The core intended punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:10:31.578911",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:32:25.551149",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both identify the same original text (\"high road\") and the same correction (\"high-road\"), capturing the intended hyphenation change precisely. No discrepancies in the core edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original segment \"materials costing\" and the same correction \"materials, costing,\" inserting a comma after \"materials.\" This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same correction (\"about, and\"), capturing the identical core change: inserting a comma after \"about.\" Therefore, the prediction matches the ground truth's intended edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change of inserting a comma after \"earnestly\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the identical transformation from \"said when\" to \"said, when,\" inserting a comma after \"said.\" The core punctuation change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the edit type matches exactly.\n2. Text Content Accuracy: Both specify the same change from \"said\" to \"said,\", correctly capturing the intended punctuation insertion (a comma after \"said\"). No discrepancies in the core edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"Clennam in\" to \"Clennam, in\" by inserting a comma after \"Clennam.\" This captures the identical core correction with matching original and corrected text.\n\nTherefore, the prediction correctly reflects the ground truth edit."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:10:32.531910",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:48:16.003258",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"high road\" is corrected to \"high-road\" by inserting a hyphen. The original_text and corrected_text are identical between ground truth and prediction, capturing the intended punctuation change precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change (inserting a comma after \"materials\"). Therefore the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma so that \"about and\" becomes \"about, and.\" The original and corrected text match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the edit type matches exactly. Text Content Accuracy: Both specify the same transformation from \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". The core punctuation change is identical. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"said when\") and the same corrected text (\"said, when\"), capturing the identical core change: insertion of a comma after \"said\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change, adding a comma after \"said\" (\"said\" \u2192 \"said,\"). There is no discrepancy in the original or corrected text. Therefore, the prediction fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:10:25.284004",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:14:00.696096",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a final period. This captures the exact core correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:10:21.034297",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:31:48.845013",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a final period. The core change is identical, with no discrepancies in original or corrected text. Therefore, the prediction fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:10:25.443137",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:47:13.039125",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both apply the same core change\u2014adding a period at the end of \"Sun and Shadow\" to make it \"Sun and Shadow.\". The original and corrected strings match the ground truth exactly. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:10:30.853101",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:14:52.771615",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The original and corrected texts are identical between ground truth and prediction, capturing the core intended change precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change inserts a comma after \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly\". The prediction inserts the same comma in a larger context: \"One man slowly\" \u2192 \"One man, slowly\". This preserves the core intended punctuation edit (comma after \"man\") while adding extra surrounding context, which is allowed. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the types match exactly.\n\nText Content Accuracy: Both ground truth and prediction apply the same core change: inserting a comma after \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The original and corrected texts are identical between the two, so the intended punctuation edit is captured correctly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:10:38.882246",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:33:07.373784",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit specify the type as \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The original_text and corrected_text are identical between ground truth and prediction, so the core change is captured precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both change the original text \"Saone\" to the corrected text \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core intended correction is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"man slowly\" to \"man, slowly,\" inserting a comma after \"man.\" The core change is identical, with no deviation in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"Chalons\" (\"Chalons was\" \u001a \"Chalons, was\"). The original and corrected text strings are identical between ground truth and prediction, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:10:49.193452",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:48:02.519895",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Saone\") and the same corrected text (\"Sa\u00f4ne\"), capturing the exact intended change (adding the circumflex over the 'o'). Therefore, the core edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core textual change is identical. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"man slowly\" to \"man, slowly,\" inserting a comma after \"man.\" The core punctuation change is identical, with no discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same correction (\"Chalons, was\"), capturing the intended insertion of a comma after \"Chalons.\" The core change is identical."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:10:57.278068",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:16:26.398624",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2. Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so\" (inserting a comma after \"heart\"). The core change is identical, with no discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "did",
            "corrected_text": "did indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:10:59.377511",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:33:47.131380",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the identical change from \"heart so\" to \"heart, so\" (inserting a comma after \"heart\"). The core punctuation correction is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart (as",
            "corrected_text": "heart indeed (as",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling:",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:11:03.595169",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:49:16.070835",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"heart so\") and the same corrected text (\"heart, so\"), capturing the identical core change of inserting a comma after \"heart.\" Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she",
            "corrected_text": "(as indeed she",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "That's well! I hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:11:22.919413",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:14:46.792578",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change (inserting a comma after \"hers\"). Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"hers matters\" to \"hers, matters,\" inserting a comma after \"hers.\" The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the identical transformation from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The core punctuation change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"beautiful that\" to \"beautiful, that\", inserting a comma after \"beautiful\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: converting \"they\" to \"They\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:11:23.050693",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:32:00.609751",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both identify the same original text (\"hers and\") and the same correction (\"hers, and\"), inserting a comma after \"hers.\" The core change is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction make the same core change, inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The original and corrected text strings match exactly, so the intended edit is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original segment \"moment with\" and the same correction \"moment, with,\" inserting a comma after \"moment.\" The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"beautiful that\") and the same corrected text (\"beautiful, that\"), inserting a comma after \"beautiful\". This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: \"they\" is corrected to \"They\". There is no discrepancy in original or corrected text. Therefore, the predicted edit fully matches the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:11:30.058856",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:47:37.701164",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"hers and\" to \"hers, and\" (inserting a comma after \"hers\"). The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" The core punctuation correction is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both apply the same core change\u2014adding a comma after \"moment\" in the phrase \"moment with,\" converting \"moment with\" to \"moment, with.\" The original and corrected text strings are identical between ground truth and prediction, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: inserting a comma between \"beautiful\" and \"that\" (\"beautiful that\" \u2192 \"beautiful, that\"). The core change is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change from \"they\" to \"They\". There is no discrepancy in the original or corrected text, so the intended capitalization correction is accurately captured."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:11:44.513727",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:15:34.444026",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have the type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"shore and\") and the same corrected_text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth specifies a \"replacement\" edit, and the prediction also uses \"replacement\", so the edit type matches exactly. Text Content Accuracy: Both ground truth and prediction replace the word \"that\" with \"than\". The core change is identical with no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:11:45.622972",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:33:16.451149",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth specifies a \"replacement\" edit, and the predicted edit is also a \"replacement\", so the type matches exactly.\n\nText Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". This captures the identical core change with no discrepancy. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:11:49.125881",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:48:39.553799",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original_text (\"shore and\") and the same corrected_text (\"shore, and\"), capturing the identical core change of inserting a comma after \"shore\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both specify replacing the original text \"that\" with the corrected text \"than\". The core change is identical with no divergence in the words being replaced or the replacement word. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:12:18.074760",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:16:31.615976",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"capitalization,\" which matches the ground truth exactly.\nText Content Accuracy: The predicted change is \"city\" \u2192 \"City,\" which is identical to the ground truth and captures the core intended capitalization correction. No discrepancies or missing/extra changes are present."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the types match exactly.\n\nText Content Accuracy: Both ground truth and prediction replace the original text \"of\" with the corrected text \"to\". This captures the same core change with no discrepancy in the substituted words.\n\nTherefore, the predicted edit correctly matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change within a slightly larger span of text (\"existence at\" \u2192 \"existence, at\"), which still places the comma immediately after \"existence\". This captures the essential intended punctuation edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction adds the same comma in context (\"motionless when\" \u2192 \"motionless, when\"), which captures the identical core punctuation change. Including the following word \"when\" as additional context does not alter the essential edit.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction uses a larger span (\"view by\" \u2192 \"view, by\"), but the core modification is the same: a comma is inserted immediately after \"view\". The additional context word \"by\" does not change the essential edit. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:12:45.952651",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:33:34.161147",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"Chapter XXIX\" to \"Chapter XXIX.\" by adding a period at the end. The core punctuation change is identical, with matching original and corrected text.\n\nTherefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same core change from \"city\" to \"City\" with identical original and corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both indicate replacing the original text \"of\" with the corrected text \"to\". The core change is identical and fully captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change in a slightly wider context (\"existence at\" \u2192 \"existence, at\"), which still inserts a comma immediately after \"existence.\" This captures the essential intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches.\n\n2) Text Content Accuracy: The ground truth change is specifically changing the punctuation after \"it\" from a comma to a semicolon (\"it,\" \u2192 \"it;\"). The prediction expands the span to include the following word (\"it to\" \u2192 \"it; to\"), but the essential effect is the same: the punctuation immediately after \"it\" is set to a semicolon. Although the prediction does not explicitly show the original comma, it still captures the core intended correction (semicolon after \"it\")."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction adds that same comma after \"motionless\" but includes additional context (\"motionless when\" \u2192 \"motionless, when\"). This captures the same core punctuation correction intended by the ground truth.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth\u2019s core intent is to change the punctuation immediately following \u201cstand-still\u201d from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The predicted edit also results in a semicolon directly after \u201cstand-still\u201d (\"stand-still; to\"). Although the predicted \"original_text\" omits the comma and includes the following word \u201cto\u201d (extra context), the essential intended change\u2014having \u201cstand-still\u201d followed by a semicolon instead of a comma\u2014is correctly captured in the corrected text."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change within a longer span (\"view by\" \u2192 \"view, by\"), which still places the comma right after \"view.\" The additional context word \"by\" does not alter the essential correction.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:12:49.943858",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:49:25.645447",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XXIX",
            "corrected_text": "XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period at the end of the chapter heading: \"Chapter XXIX\" \u2192 \"Chapter XXIX.\". The prediction captures the same core punctuation change by adding a period after the Roman numeral: \"XXIX\" \u2192 \"XXIX.\". Although it omits the preceding word \"Chapter\" as context, it still accurately represents the essential intended correction (adding the terminal period to the heading)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"DREAMING\" to \"DREAMING.\", correctly capturing the intended addition of a period. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify changing \"city\" to \"City\", which captures the same core capitalization change with identical original and corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\nText Content Accuracy: The ground truth replaces \"of\" with \"to\". The prediction also replaces \"of\" with \"to\". The core intended change is identical, with no discrepancy in the original or corrected text.\n\nTherefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit expands the span to include the following word (\"existence at\" \u2192 \"existence, at\"), but it still performs the same core change: inserting a comma immediately after \"existence.\" Additional surrounding context is allowed, and the essential punctuation correction is correctly captured."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing the punctuation immediately following \"it\" from a comma to a semicolon (\"it,\" \u2192 \"it;\"). The prediction applies the same core punctuation change by making the text after \"it\" use a semicolon (\"it to\" \u2192 \"it; to\"). Although the prediction includes extra context (the following word \"to\") and does not explicitly show the comma in its original_text span, it still captures the essential intended correction: a semicolon should follow \"it\"."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change, adding a comma immediately after \"motionless\" within a longer span (\"motionless when\" \u2192 \"motionless, when\"). The additional context word \"when\" does not alter the essential intended correction; it still captures the comma insertion after \"motionless\"."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit applies the same essential change, inserting a comma immediately after \"view\" within a larger span (\"view by\" \u2192 \"view, by\"). This added context does not alter the core intention; it still captures the comma insertion after \"view.\""
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:12:07.889782",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:16:34.506840",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "<i>him</i>",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"italicize,\" which matches the ground truth exactly.\n\n2. Text Content Accuracy: The ground truth indicates that the word \"him\" should be italicized without changing the literal characters (original_text and corrected_text both \"him\"). The prediction represents this same intention by rendering the corrected text as \"<i>him</i>\", which is a conventional explicit encoding of italics. The core change\u2014apply italics to \"him\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify replacing \"authorize\" with \"authorise\". The core intended change (American to British spelling) is captured identically, with no discrepancy in original or corrected text.\n\nTherefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that",
            "corrected_text": "<i>that</i>",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:12:10.050937",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:33:20.259934",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\nText Content Accuracy: Both specify the same original_text (\"authorize\") and the same corrected_text (\"authorise\"), capturing the identical core change from American to British spelling. Therefore, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that",
            "corrected_text": "that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:12:15.861276",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:49:43.030038",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "<i>him</i>",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"italicize,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth indicates that the word \"him\" should be italicized; because italicization is a formatting change, the plain-text \"corrected_text\" may remain \"him\". The prediction represents the same intended formatting change by wrapping the corrected text as \"<i>him</i>\" while keeping the target word identical. This captures the core intention (italicize the word \"him\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both replace the same original word \"authorize\" with the same corrected word \"authorise\". The core change (American to British spelling) is captured identically.\nTherefore, the predicted edit matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that",
            "corrected_text": "<i>that</i>",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:12:02.457201",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:15:52.092334",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The predicted edit likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it stops at \"Mr.\" rather than \"Mr. Pancks\"), it captures the core intended punctuation change in the correct location."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core change is identical, with no discrepancy in original or corrected text. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:12:14.038929",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:34:26.099848",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"For Mr. Pancks\" to \"For, Mr. Pancks\", i.e., it inserts a comma after \"For\". The prediction changes \"For Mr.\" to \"For, Mr.\", which also inserts a comma after \"For\". Although the prediction includes less surrounding context (it omits \"Pancks\"), it still captures the essential intended punctuation change in the correct location. Therefore, the core edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that,\" inserting a comma after \"quickly.\" This captures the identical core punctuation change with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.5",
        "date": "2026-04-26T00:12:15.131867",
        "annotator": "GPT-5.5",
        "annotation_date": "2026-04-25T23:49:48.407470",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction likewise changes \"For Mr.\" \u2192 \"For, Mr.,\" which captures the same core punctuation change (inserting a comma immediately after \"For\" before \"Mr.\"). Although the prediction includes less surrounding context (it stops at \"Mr.\" rather than \"Mr. Pancks\"), it correctly reflects the essential intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change: insertion of a comma after \"quickly\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2026-04-23",
    "release_source": "https://openai.com/index/introducing-gpt-5-5/"
  },
  {
    "model_name": "GPT-5.5 Pro (OR)",
    "model_id": "or_openai_gpt_5_5_pro",
    "date": "2026-04-26T00:25:32.453675",
    "shots": 2,
    "config": {
      "model_id": "or_openai_gpt_5_5_pro",
      "display_name": "GPT-5.5 Pro (OR)",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-04-26",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-5.5 Pro (OR)",
    "annotation_date": "2026-04-25T23:17:49.242594",
    "file_results": [
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:23:43.612597",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:17:49.242594",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over\" by inserting a comma after \"howling\". The essential punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both ground truth and prediction change \"yonder to-day\" to \"yonder, to-day\", inserting a comma after \"yonder\". The original and corrected texts are identical between the two, capturing the core intended punctuation change precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both ground truth and prediction change \"Sir\" to \"sir\". This captures the identical core correction (lowercasing the initial letter). No discrepancies in original or corrected text are present.\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets.\" This captures the exact intended core punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:23:45.218996",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:36:42.861974",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to the end of \"Fellow Travellers\" to make it \"Fellow Travellers.\" The original_text and corrected_text align perfectly with the ground truth intention. Therefore, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling.\" Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"yonder to-day\") and the same corrected_text (\"yonder, to-day\"), capturing the identical core change of inserting a comma after \"yonder\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Sir\" to \"sir\", capturing the identical core lowercase correction. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"pockets and\" to \"pockets, and\"\u2014inserting a comma after \"pockets.\" This captures the core intended change with no discrepancy."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:23:43.558684",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:52:28.392489",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change the phrase from \"yonder to-day\" to \"yonder, to-day\", inserting a comma after \"yonder\". The original and corrected texts are identical between ground truth and prediction, so the core change is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"Sir\" to \"sir\". The core intended change (lowercasing the initial letter) is captured identically.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same corrected text (\"pockets, and\"), capturing the identical core change\u2014adding a comma after \"pockets.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:23:44.664541",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:19:15.472898",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir\" (inserting a comma after \"No\"). The core correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial \"w\" in the phrase \"why did he dine\" \u2192 \"Why did he dine.\" The prediction applies the same core change by capitalizing \"why\" \u2192 \"Why.\" Although it includes less surrounding context, it captures the essential intended correction (initial word capitalization)."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction applies the same core punctuation change (! \u2192 ?) but on the slightly shorter substring \"stones!\" \u2192 \"stones?\". This still captures the essential intended correction (replacing the exclamation point with a question mark at the end of the expression), and omitting the preceding word \"cold\" is acceptable since additional surrounding context is not required as long as the core change is preserved."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:23:43.389212",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:36:33.493923",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"No sir\" to \"No, sir\" by inserting a comma after \"No\". The core punctuation correction is identical, with no mismatch in original or corrected text. Therefore the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial \"why\" in the phrase \"why did he dine\" to \"Why\" (capitalizing the first word). The prediction captures this same core change by editing \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it correctly represents the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction applies the same core change on a slightly narrower span: \"stones!\" \u2192 \"stones?\". This still captures the essential intended correction (changing ! to ? after \"stones\"). The omitted word \"cold\" is just additional context and does not alter the core punctuation edit."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:23:44.027294",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:51:16.832681",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"No sir\") and the same correction (\"No, sir\"), adding a comma after \"No\". The predicted edit captures the identical core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word of the phrase, changing \"why did he dine\" to \"Why did he dine.\" The prediction captures the same core change by capitalizing \"why\" to \"Why.\" Although it provides less surrounding context than the ground truth, it correctly reflects the essential intended correction (capitalizing the first word)."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation point to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction applies the same core change to a slightly narrower span: \"stones!\" \u2192 \"stones?\". This still captures the essential intended edit (replacing ! with ? at the end of the same word/phrase). The omitted preceding word \"cold\" is additional context, not part of the core punctuation change.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:23:45.164560",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:15:10.074375",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial \"if\" in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same essential change by converting \"if\" \u2192 \"If.\" Although it includes less surrounding context (omits \"he\"), it still reflects the core intended correction: capitalizing the word \"if\" at the start of the phrase/sentence."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\", whose core substantive change is replacing the word \"said\" with \"asked\" while leaving \"Clennam\" unchanged. The prediction captures this essential substitution by replacing \"said\" with \"asked\". Although it includes less surrounding context (omitting \"Clennam\"), it still reflects the same intended correction."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:23:41.581708",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:32:59.718118",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"if\" at the start of the phrase (\"if he\" \u2192 \"If he\"). The prediction captures the same core change by capitalizing \"if\" (\"if\" \u2192 \"If\"). Although it includes less surrounding context (omits \"he\"), the essential intended correction\u2014capitalizing \"if\"\u2014is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes the verb \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution by replacing \"said\" with \"asked\" (with less surrounding context). Since the essential intended change is the verb replacement and the remaining context (\"Clennam\") is unchanged, the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:23:44.323068",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:49:17.393374",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he,\" which capitalizes the word \"if\" at the beginning of the phrase. The predicted edit changes \"if\" to \"If,\" capturing the same core correction (capitalizing \"if\"). The omission of the following word \"he\" is acceptable because it is additional context and does not alter the essential intended change.\n\nTherefore, the predicted edit correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\", i.e., the substantive correction is replacing the word \"said\" with \"asked\" while keeping \"Clennam\" unchanged. The predicted edit replaces \"said\" with \"asked\" without including the surrounding \"Clennam\" context. This still captures the core intended change (\"said\" \u2192 \"asked\"), and omission of extra unchanged context is acceptable under the criteria."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:23:52.055234",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:20:31.156082",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change from \"high road\" to \"high-road\" (inserting a hyphen between the words). There is no discrepancy in original or corrected text. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), inserting a comma after \"materials.\" This captures the core intended punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same correction (\"about, and\"), capturing the identical core change\u2014adding a comma after \"about\". Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original phrase \"earnestly telling\" and the same correction \"earnestly, telling\", inserting a comma after \"earnestly\". The core change is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: inserting a comma after \"said\" in the phrase \"said when\" to become \"said, when\". The original and corrected texts are identical between ground truth and prediction, so the core intended change is fully captured."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: \"said\" \u2192 \"said,\" (adding a comma after \"said\"). There is no discrepancy in the original or corrected text, so the prediction fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same correction (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:17.430637",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:36:03.042210",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"high road\" to \"high-road\" (inserting a hyphen). The original and corrected texts are identical between ground truth and prediction, so the intended punctuation change is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change of inserting a comma after \"materials.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same corrected text (\"about, and\"), capturing the identical core change\u2014adding a comma after \"about\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change\u2014adding a comma after \"earnestly.\" Therefore, the prediction fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"said when\" to \"said, when,\" inserting a comma after \"said.\" The core punctuation change is identical. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: \"said\" \u2192 \"said,\" (adding a comma after \"said\"). There is no discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same correction (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:17.182500",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:52:02.784640",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road\" (inserting a hyphen). The core change is identical with no discrepancy. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials.\" Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same correction (\"about, and\"), capturing the identical core change\u2014adding a comma after \"about\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change of inserting a comma after \"earnestly\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the identical transformation from \"said when\" to \"said, when,\" inserting a comma after \"said.\" This captures the core intended punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: \"said\" is corrected to \"said,\" by adding a comma. There is no discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change, inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The original and corrected text strings match the ground truth exactly, capturing the intended edit."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:06.621646",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:15:36.277423",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core punctuation change is captured identically.\nTherefore, the predicted edit matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:14:29.187569",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:35:08.585645",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:14:29.289343",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:48:57.883710",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:18.466856",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:18:58.999119",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify replacing \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core textual change is identical, with no mismatch in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'), which captures the same core correction. No discrepancies in the original or corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the identical transformation from \"man slowly\" to \"man, slowly,\" inserting a comma after \"man.\" This captures the core intended correction with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change: insertion of a comma after \"Chalons\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:17.634777",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:37:14.592013",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"replacement\", so the type matches exactly. 2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'), capturing the identical core correction. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both change the original text \"Saone\" to the corrected text \"Sa\u00f4ne\" (adding the circumflex over the 'o'), which captures the exact core correction intended. No discrepancy in the content of the change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original and corrected text\u2014changing \"man slowly\" to \"man, slowly\" by inserting a comma after \"man.\" This captures the core intended change with no discrepancies."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The original and corrected texts match exactly between ground truth and prediction, capturing the intended punctuation insertion."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:24.151419",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:51:38.200684",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the original text \"Saone\" with the corrected text \"Sa\u00f4ne\" (adding the circumflex over the o). The core change is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify the same original text \"Saone\" and the same corrected text \"Sa\u00f4ne\" (adding the circumflex over the 'o'). This captures the core intended change precisely with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same transformation: \"man slowly\" \u2192 \"man, slowly,\" inserting a comma after \"man.\" This captures the core intended punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons\". Therefore, the predicted edit matches the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:14.650208",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:23:56.108450",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"heart so\") and the same corrected text (\"heart, so\"), capturing the identical core change\u2014adding a comma after \"heart\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as she",
            "corrected_text": "as indeed she",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth inserts the word \"indeed\" into the phrase, changing \"as she did\" to \"as indeed she did.\" The prediction also reflects insertion of \"indeed\" after \"as\" (\"as she\" \u2192 \"as indeed she\"). Although the prediction truncates the surrounding context (omitting \"did\"), it captures the core intended change: adding \"indeed\" in that location. Therefore, the essential edit content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:18.870672",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:40:12.853045",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The prediction also inserts a comma after \"heart\" and simply includes additional following context (\"heart so much\" \u2192 \"heart, so much\"). The essential punctuation change is the same, so the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"insertion\", so the type matches exactly.\n\nText Content Accuracy: Both identify the same original text (\"as she did\") and the same corrected text (\"as indeed she did\"), capturing the core change of inserting \"indeed\". No discrepancies in the intended modification."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling:",
            "corrected_text": "smiling;",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:14.047523",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:59:52.998392",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"heart so\") and the same correction (\"heart, so\"), inserting a comma after \"heart.\" This captures the identical core change with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same change: removing the comma in \"generous, Mr.\" to produce \"generous Mr.\". The original_text and corrected_text match the ground truth\u2019s intended punctuation correction exactly.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "did,",
            "corrected_text": "did indeed,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:32.919232",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:18:27.280112",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"hers and\" to \"hers, and,\" correctly capturing the intended insertion of a comma after \"hers.\" There is no discrepancy in the core change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same correction (\"hers, matters\"), inserting a comma after \"hers.\" The predicted edit captures the core intended punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change the same original text \"moment with\" to the same corrected text \"moment, with\", inserting a comma after \"moment\". The core intended punctuation change is captured precisely."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: inserting a comma to revise \"beautiful that\" to \"beautiful, that\". The core intended punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"they\" is corrected to \"They\". There is no difference in original or corrected text, so the essential edit is captured precisely.\nTherefore, the predicted edit matches the ground truth intent."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:46.080976",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:34:18.893585",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"hers and\" to \"hers, and\" (inserting a comma after \"hers\"). The core punctuation correction is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"hers\" so that \"hers matters\" becomes \"hers, matters.\" The original_text and corrected_text align with the ground truth\u2019s intention with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"moment with\" to \"moment, with,\" inserting a comma after \"moment.\" This captures the identical core change with no discrepancies."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same correction (\"beautiful, that\"), capturing the identical core change: insertion of a comma after \"beautiful\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\nText Content Accuracy: The predicted change is \"they\" \u2192 \"They,\" which matches the ground truth correction exactly and captures the same core capitalization change. No discrepancies in the original or corrected text."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:50.220660",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:49:00.107834",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"hers and\" to \"hers, and,\" inserting a comma after \"hers.\" The core punctuation correction is identical."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change: insertion of a comma after \"hers.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit specify the type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"moment with\" to \"moment, with\" by inserting a comma after \"moment\". The original and corrected text strings are identical between ground truth and prediction, capturing the same core punctuation change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both edits change \"beautiful that\" to \"beautiful, that\" (inserting a comma after \"beautiful\"). The core punctuation change is identical in the prediction and ground truth.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\nText Content Accuracy: Both specify the same core change from \"they\" to \"They\" (capitalizing the first letter). There is no discrepancy in original or corrected text. Therefore, the prediction captures the intended correction."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:49.132310",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:21:36.044804",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, replacing the exclamation mark in \"Thank you!\" with a comma to form \"Thank you,\", capturing the identical intended correction. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the identical core change from \"shore and\" to \"shore, and\" (inserting a comma after \"shore\"). There is no mismatch or missing/extra substantive change. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". The core intended change is identical, with no discrepancy in the target or replacement text.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:57.410601",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:38:09.671980",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same substitution of the word \"that\" with \"than\". The core intended change is identical, with no deviation in original or corrected text. Therefore, the prediction fully matches the ground truth intent."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:24:49.392472",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:54:08.693977",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Thank you!\" to \"Thank you,\", capturing the identical core punctuation change (replacing an exclamation mark with a comma). Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"shore and\" and the same corrected text \"shore, and\", capturing the identical core change (inserting a comma after \"shore\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". The core intended change is identical in the prediction and the ground truth.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:25:28.703830",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:24:34.717405",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the identical transformation from \"DREAMING\" to \"DREAMING.\" (adding a period). The core intended change is captured precisely with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\nText Content Accuracy: The ground truth changes \"city\" to \"City\". The predicted edit specifies the same original text (\"city\") and the same corrected text (\"City\"), capturing the identical core capitalization change.\n\nTherefore, the prediction fully matches the ground truth intent."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing the original text \"of\" with the corrected text \"to\". The core change is identical, with no discrepancy in the replaced or replacement text.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, adding a comma after \"existence\" within a slightly larger context span (\"existence at\" \u2192 \"existence, at\"). This captures the essential intended punctuation correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same essential punctuation change, showing additional context (\"motionless when\" \u2192 \"motionless, when\"). This captures the core intended edit: adding a comma immediately after \"motionless.\""
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds a comma after \"view\" as well, even though it includes additional surrounding context (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation change intended by the ground truth.\n\nTherefore, the prediction correctly reflects the ground truth edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "xxix",
            "corrected_text": "xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:25:32.453675",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-26T00:00:03.908138",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XXIX",
            "corrected_text": "XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates adding a period to the chapter heading, changing \"Chapter XXIX\" to \"Chapter XXIX.\" The prediction changes \"XXIX\" to \"XXIX.\" This captures the core intended edit (inserting a period after the Roman numeral). Although the prediction omits the preceding word \"Chapter\" from the span it edits, it still reflects the same essential punctuation change at the correct location."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: adding a period to \"DREAMING\" to make it \"DREAMING.\". The original and corrected texts are identical between ground truth and prediction, so the intended correction is captured correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change the word \"city\" to \"City,\" capturing the same core capitalization correction with identical original and corrected text.\nTherefore, the prediction correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both indicate replacing the original text \"of\" with the corrected text \"to\". The core change is identical and fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit applies the same core punctuation change, adding a comma after \"existence\" within a slightly larger context span (\"existence at\" \u2192 \"existence, at\"). This captures the essential intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core punctuation change, adding a comma immediately after \"motionless\" while including additional surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This preserves the essential intended edit.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds a comma after \"view\" within a longer context string (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation insertion at the same location, merely including an extra following word as context. Therefore, the essential intended edit is correctly represented."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is specifically to replace the comma after \"existence\" with a semicolon (\"existence,\" \u2192 \"existence;\"). The predicted edit applies a semicolon immediately after \"existence\" (\"existence is\" \u2192 \"existence; is\"), which captures the same core intention: the punctuation following \"existence\" should be a semicolon rather than the original comma. The additional surrounding word (\"is\") is extra context and does not change the essential correction being made."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lord and",
            "corrected_text": "lord, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:25:29.275496",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-26T00:12:50.802677",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"Chapter XXIX\" to \"Chapter XXIX.\" by adding a period at the end. The core intended punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the identical core change: adding a period to \"DREAMING\" to form \"DREAMING.\". Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"capitalization\" and the predicted type is also \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City\". There is no discrepancy in the original or corrected text, so the essential edit is captured accurately."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are a \"replacement\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"of\" to \"to\". The prediction changes \"return of\" to \"return to\", which includes extra surrounding context but preserves the same core substitution (\"of\" \u2192 \"to\"). This correctly captures the intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit applies the same core punctuation change in a slightly larger context span (\"existence at\" \u2192 \"existence, at\"), which still places the comma immediately after \"existence.\" This captures the essential intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core punctuation change by inserting a comma immediately after \"motionless\" within a slightly longer context (\"motionless when\" \u2192 \"motionless, when\"). This correctly captures the essential intended edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit applies the same core change in a slightly larger context (\"view by\" \u2192 \"view, by\"), which still places the comma immediately after \"view.\" This captures the essential intended correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:25:14.604872",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:25:24.544289",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "<i>him</i>",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"italicize,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth indicates that the word \"him\" should be italicized (original and corrected text are both \"him\" because the change is purely formatting). The prediction represents the same formatting change by encoding italics as \"<i>him</i>.\" Although the corrected_text differs in markup representation, it captures the same core intention: apply italics to the word \"him.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"now I\" to \"now, I,\" inserting a comma after \"now.\" The core change is identical, so the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the same original text \"authorize\" with the same corrected text \"authorise\". The core change (American to British spelling) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that",
            "corrected_text": "<i>that</i>",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:25:17.184321",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:45:27.702985",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly. Text Content Accuracy: Both specify the same target text \"him\" to be italicized (original_text and corrected_text are identical in both, indicating a formatting change only). The prediction captures the same core change as the ground truth. Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both edits replace \"authorize\" with \"authorise\". This captures the identical core change (American to British spelling). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that",
            "corrected_text": "that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:25:21.941996",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-26T00:00:03.831695",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction specify the same target text, \"him\", with no change in wording (only formatting/italics). This captures the core intended change (italicizing \"him\") accurately.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both indicate replacing \"authorize\" with \"authorise\". The core intended change (American spelling to British spelling) is captured identically with the same original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that",
            "corrected_text": "that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:25:14.382683",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:23:41.021896",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"For Mr. Pancks\" to \"For, Mr. Pancks\", inserting a comma after \"For\". The prediction changes \"For Mr.\" to \"For, Mr.\", which applies the same core punctuation change (adding a comma after \"For\"). Although the predicted edit includes less surrounding context (it omits \"Pancks\"), it still captures the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change\u2014adding a comma after \"quickly\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:25:14.793310",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-25T23:41:36.858372",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it stops at \"Mr.\" rather than including \"Pancks\"), it captures the same essential punctuation insertion at the correct location. Therefore, the core intended edit matches."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core change is identical with no deviation in wording. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_openai_gpt_5_5_pro",
        "date": "2026-04-26T00:25:18.388974",
        "annotator": "GPT-5.5 Pro (OR)",
        "annotation_date": "2026-04-26T00:01:03.227599",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the predicted span is shorter and omits \"Pancks,\" it still captures the core intended punctuation change in the correct location. Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change\u2014adding a comma after \"quickly.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2026-04-24",
    "release_source": "https://openrouter.ai/openai/gpt-5.5-pro",
    "release_notes": "OpenRouter listing for GPT-5.5 Pro. OpenAI describes GPT-5.5 Pro as a higher-compute variant of GPT-5.5."
  },
  {
    "model_name": "GPT-5.6 Luna",
    "model_id": "gpt-5.6-luna",
    "date": "2026-07-23T15:27:56.402483",
    "shots": 2,
    "config": {
      "model_id": "gpt-5.6-luna",
      "display_name": "GPT-5.6 Luna",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-5.6 Luna",
    "annotation_date": "2026-07-23T11:23:47.339795",
    "file_results": [
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:25:24.400273",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:23:47.339795",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core change: adding a period to the end of \"Fellow Travellers\" to make it \"Fellow Travellers.\" The original and corrected texts match the ground truth exactly.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The original and corrected text strings are identical between ground truth and prediction, capturing the intended punctuation correction precisely."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:25:28.661519",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:35:39.405291",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\nText Content Accuracy: Both specify the same core change: adding a period to the end of \"Fellow Travellers\" (\"Fellow Travellers\" \u2192 \"Fellow Travellers.\"). The original and corrected texts align perfectly with the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day\". The prediction captures this core change by editing \"yonder\" \u2192 \"yonder,\". Although it omits the following word \"to-day\", it still represents the same essential punctuation insertion at the correct location, which is acceptable under the guidelines."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"pockets\" in the phrase \"pockets and\" (making it \"pockets, and\"). The prediction also inserts a comma after \"pockets\" (\"pockets\" \u2192 \"pockets,\"). Although it includes less surrounding context (it doesn\u2019t show \"and\"), it captures the core intended punctuation change at the correct location. Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:25:27.701300",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:36:37.617640",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. Text Content Accuracy: Both specify the same original_text (\"howling over\") and the same corrected_text (\"howling, over\"), capturing the identical core change of inserting a comma after \"howling\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"pockets and\" to \"pockets, and\", inserting a comma after \"pockets\". The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day sir",
            "corrected_text": "to-day, sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:25:23.741257",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:23:26.747142",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir,\" inserting a comma after \"No.\" The predicted edit captures the complete core change with identical original and corrected text. Therefore, it matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The predicted edit (\"why\" \u2192 \"Why\") captures the core intended change\u2014capitalizing \"why\" at the start. Although it provides less surrounding context, it still correctly represents the essential correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones.",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:25:19.004310",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:35:51.996762",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"No sir\" to \"No, sir\", inserting a comma after \"No\". The core intended punctuation correction is captured with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase, changing \"why did he dine\" to \"Why did he dine\". The predicted edit captures this core change by specifying \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it correctly represents the essential capitalization correction intended."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:25:20.816502",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:36:33.842585",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change \"No sir\" to \"No, sir\" by inserting a comma after \"No\", which captures the core intended correction exactly. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir,",
            "corrected_text": "sir;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "reflection,",
            "corrected_text": "reflection;",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:25:23.068117",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:23:03.908697",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same core change by capitalizing \"if\" \u2192 \"If\". Although it provides less surrounding context (omitting \"he\"), the essential correction\u2014capitalizing the word \"if\"\u2014is accurately represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the verb from \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The predicted edit captures this core substitution by replacing \"said\" with \"asked\". Although it omits the surrounding context (\"Clennam\"), it still reflects the essential intended change.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:25:30.815966",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:34:49.362198",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he,\" which fundamentally consists of capitalizing the word \"if\" at the start of the phrase; \"he\" remains unchanged. The prediction captures this core change by converting \"if\" to \"If\" (with less surrounding context). Omitting \"he\" does not alter the essential intended correction, since the only modification is the capitalization of \"if.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" within the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction replaces \"said\" with \"asked\" without including the following context (\"Clennam\"), but it captures the core intended change (\"said\" \u2192 \"asked\"). Including less surrounding text is acceptable as long as the essential substitution is correct."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:25:22.388697",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:35:10.598864",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial word in the phrase \"if he\" \u2192 \"If he\". The predicted edit \"if\" \u2192 \"If\" captures the same core correction (capitalizing \u201cif\u201d). The omission of the following word \u201che\u201d is just reduced context and does not alter the essential intended change.\n\nTherefore, the predicted edit correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the wording from \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution (\"said\" \u2192 \"asked\") even though it provides less surrounding context (it omits \"Clennam\" from the original/corrected text fields). Since the essential intended change is the verb replacement, the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:26:14.780709",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:23:54.013791",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"high road\" and the same corrected text \"high-road\", capturing the identical core change (inserting a hyphen). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original span (\"materials costing\") and the same corrected span (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"about and\" to \"about, and\" by inserting a comma after \"about.\" This captures the exact core change with identical original and corrected text.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". The core punctuation correction is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change the phrase from \"said when\" to \"said, when\" by inserting a comma after \"said.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"said\" (\"said\" \u2192 \"said,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change, inserting a comma after \"Clennam\" (\"Clennam in\" \u001a \"Clennam, in\"). The original and corrected text strings are identical between ground truth and prediction, capturing the core intended punctuation correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:26:22.895809",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:35:48.473243",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change: replacing \"high road\" with \"high-road\" (inserting a hyphen). The original and corrected texts match the ground truth intention exactly.\n\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"materials costing\" to \"materials, costing,\" inserting a comma after \"materials.\" This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tossed about and",
            "corrected_text": "tossed about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"about\" in the phrase \"about and\" \u2192 \"about, and\". The predicted edit applies the same essential punctuation change, just with additional preceding context (\"tossed\"): \"tossed about and\" \u2192 \"tossed about, and\". This captures the core intended correction (adding the comma after \"about\")."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"said\" in the sequence \"said when\" \u2192 \"said, when.\" The prediction performs the same core punctuation change (inserting a comma after \"said\") but includes additional surrounding context (\"always\"). This still captures the essential intended edit accurately."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction applies the same core change\u2014adding a comma after \"said\"\u2014but includes additional left-context (\"and said\" \u2192 \"and said,\"). Since the essential modification (inserting a comma immediately after \"said\") is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change of inserting a comma after \"Clennam\". No discrepancy in the essential edit."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:26:25.781034",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:36:09.772477",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road\", capturing the identical core change (inserting a hyphen). No discrepancies in original or corrected text are present.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \u201cmaterials\u201d in the phrase \u201cmaterials costing\u201d \u2192 \u201cmaterials, costing.\u201d The predicted edit \u201cmaterials\u201d \u2192 \u201cmaterials,\u201d captures the same core punctuation insertion at the correct word boundary. Although it omits the following word \u201ccosting,\u201d it still reflects the essential intended change (adding the comma after \u201cmaterials\u201d)."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"about\" in the phrase \"about and\" \u2192 \"about, and\". The prediction captures the same core punctuation change by editing \"about\" \u2192 \"about,\". Although it omits the surrounding word \"and\" from the original/corrected strings, it still implements the essential intended correction (adding a comma after \"about\")."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly",
            "corrected_text": "earnestly,",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after the word \"earnestly\" in the phrase \"earnestly telling\" (becoming \"earnestly, telling\"). The prediction captures the same core punctuation insertion by changing \"earnestly\" to \"earnestly,\". Although it provides less surrounding context than the ground truth, it implements the identical essential change (comma insertion after \"earnestly\")."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit inserts a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when\". The predicted edit \"said\" \u2192 \"said,\" captures the same core change (adding a comma immediately after \"said\"). Although it includes less surrounding context (it omits \"when\"), it still reflects the essential punctuation correction intended by the ground truth."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"said\" to \"said,\" by adding a comma after the word. The core intended punctuation change is identical.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is the insertion of a comma immediately after \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in.\" The prediction captures the same core punctuation change (\"Clennam\" \u2192 \"Clennam,\") even though it includes less surrounding context (it omits the following word \"in\"). Since the essential intended edit\u2014adding a comma after \"Clennam\"\u2014is correctly represented, the content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association",
            "corrected_text": "association,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:25:58.557930",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:23:05.718122",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:26:00.465163",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:34:47.277940",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:26:01.777755",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:35:10.377344",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:26:17.293537",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:24:14.557993",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Let Loose\" to become \"Let Loose.\" The original_text and corrected_text are identical to the ground truth, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The original and corrected texts are identical between ground truth and prediction, so the core change is captured exactly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"replacement\", so the type matches exactly.\n2. Text Content Accuracy: Both perform the same core change, replacing \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The original_text and corrected_text match the ground truth exactly, capturing the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: inserting a comma after \"Chalons\" in the phrase \"Chalons was\" to become \"Chalons, was\". The original and corrected texts are identical between ground truth and prediction, so the core change is captured exactly."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:26:26.569904",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:35:59.906282",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Let Loose\" to \"Let Loose.\" by adding a period at the end. The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after the word \"man\" in the phrase \"man slowly\" (resulting in \"man, slowly\"). The predicted edit changes \"man\" to \"man,\", which captures the same core punctuation insertion at the correct location (after \"man\"). Although it omits the following word \"slowly\" from the span, it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons,",
            "corrected_text": "Chalons",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:26:23.311665",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:36:38.468956",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"Let Loose\" to \"Let Loose.\" (adding a period). The predicted edit captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the same original text \"Saone\" with the same corrected text \"Sa\u00f4ne\" (adding the circumflex over the o). The core change is identical and fully captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both edits change \"man slowly\" to \"man, slowly\" by inserting a comma after \"man,\" which captures the core intended correction precisely. Therefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the core change of inserting a comma after \"Chalons\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:26:30.190783",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:23:54.821624",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"heart\" in the phrase \"heart so\" to make it \"heart, so\". The original_text and corrected_text match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that she thanked",
            "corrected_text": "that she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart (",
            "corrected_text": "heart, (",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:26:33.406288",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:35:52.310583",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same change from \"heart so\" to \"heart, so\", correctly capturing the core intended punctuation insertion (adding a comma after \"heart\"). No discrepancies in the original or corrected text content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit is an \"insertion,\" and the predicted edit is also an \"insertion,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert the word \"indeed\" into the phrase, turning \"as she did\" into \"as indeed she did.\" The predicted edit inserts \"indeed\" (even though it leaves original_text empty and does not provide surrounding context). This captures the core intended change\u2014the addition of \"indeed\"\u2014so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb phrase from \"I hope so\" to \"I hoped so\"\u2014the essential change is \"hope\" \u2192 \"hoped\" (present to past tense). The prediction captures this core change by replacing \"hope\" with \"hoped\". Although it omits surrounding context (\"I\" and \"so\"), it still correctly represents the intended textual modification."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling; \u201cwill",
            "corrected_text": "smiling, \u201cwill",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:26:33.235218",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:36:03.265664",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"heart so\" to \"heart, so,\" inserting a comma after \"heart.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "did, if",
            "corrected_text": "did, indeed, if",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:05.181527",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:24:04.419759",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"hers\" in the phrase \"hers and,\" yielding \"hers, and.\" The original and corrected text strings match exactly, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"hers matters\" to \"hers, matters,\" inserting a comma after \"hers.\" The core change is identical, with no missing or conflicting modifications."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), inserting a comma after \"moment.\" This captures the core intended punctuation change with no discrepancies."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction apply the same core change: inserting a comma after \"beautiful\" in the phrase \"beautiful that,\" resulting in \"beautiful, that.\" The original and corrected text strings match exactly, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change from \"they\" to \"They\" with no differences in original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:05.429521",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:36:00.855863",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: \"hers and\" \u2192 \"hers, and\" (inserting a comma after \"hers\"). This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change the same phrase from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The core punctuation change is identical. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original phrase \"beautiful that\" and the same correction \"beautiful, that\", inserting a comma after \"beautiful\". This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\n2) Text Content Accuracy: Both ground truth and prediction change \"they\" to \"They,\" capturing the identical core capitalization correction with no differences in the original or corrected text. Therefore, the prediction matches the ground truth\u2019s intended edit."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:11.951503",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:36:10.104823",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers and\" to make it \"hers, and\". The prediction edits \"hers\" to \"hers,\", which captures the same core punctuation change (adding a comma immediately after \"hers\"). Although the prediction includes less surrounding context (it omits \"and\"), it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is the insertion of a comma after the word \"hers\" in the phrase \"hers matters\" \u2192 \"hers, matters\". The predicted edit \"hers\" \u2192 \"hers,\" captures the same essential punctuation insertion (adding a comma immediately after \"hers\"). Although it omits the following word \"matters\" as context, it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"moment\" (\"moment with\" \u2192 \"moment, with\"). The prediction captures the same core punctuation change by editing \"moment\" \u2192 \"moment,\". Although it omits the following word \"with\" from the span, it still represents the essential intended correction (adding the comma after \"moment\")."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"beautiful\" (\"beautiful that\" \u2192 \"beautiful, that\"). The prediction captures the same core punctuation change by editing \"beautiful\" \u2192 \"beautiful,\". Although the prediction does not include the following word \"that\" as context, it still reflects the essential intended correction (adding a comma after \"beautiful\")."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify changing \"they\" to \"They,\" which captures the same core correction with identical original and corrected text. Therefore, the prediction matches the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:22.869344",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:24:13.866307",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"shore\" in the phrase \"shore and\" \u2192 \"shore, and.\" The predicted edit \"shore\" \u2192 \"shore,\" captures the same core punctuation insertion (a comma immediately after \"shore\"). Although it omits the following word \"and\" from the span, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". This captures the same core change with no discrepancy. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy",
            "corrected_text": "fancy,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:08.157199",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:36:08.755947",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"Thank you!\" to \"Thank you,\"\u2014replacing the exclamation mark with a comma. The core intended correction is captured identically. Therefore, the predicted edit matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original segment (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core change of inserting a comma after \"shore.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the types match exactly. Text Content Accuracy: Both edits replace the same original text (\"that\") with the same corrected text (\"than\"), capturing the identical core change. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:21.759001",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:36:38.893143",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both change the original text \"that\" to the corrected text \"than\". The core intended substitution is captured precisely with no discrepancy. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:33.831876",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:25:12.444476",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\". The original and corrected texts are identical between ground truth and prediction, so the essential edit is captured correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth edit type.\n2. Text Content Accuracy: The predicted change converts \"city\" to \"City,\" which is identical to the ground truth core change. No additional or missing content alters the intended correction.\nTherefore, both criteria are satisfied and the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same punctuation change from \"them,\" to \"them;\". The core correction (replacing a comma with a semicolon after \"them\") is identical.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The essential edit is identical, with no discrepancy in the modified text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the types match exactly. Text Content Accuracy: Both ground truth and prediction change \"motionless\" to \"motionless,\" by adding a comma immediately after the word. The core intended change is captured identically. Therefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same core change: adding a comma after \"view\" (\"view\" \u2192 \"view,\"). There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the punctuation after the word \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The predicted edit also results in the same corrected form \"existence;\". Although the predicted \"original_text\" omits the comma (\"existence\" instead of \"existence,\"), it still captures the core intended change at that spot: the terminal punctuation should be a semicolon. Therefore, the essential correction is correctly represented."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:42.073504",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:37:07.598892",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2. Text Content Accuracy: Both edits change \"Chapter XXIX\" to \"Chapter XXIX.\" by adding a period at the end. The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MRS. FLINTWINCH GOES ON DREAMING",
            "corrected_text": "MRS. FLINTWINCH GOES ON DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period after the word \"DREAMING\" (\"DREAMING\" \u2192 \"DREAMING.\"). The predicted edit adds a period at the end of a longer phrase that ends with the same word (\"... DREAMING\" \u2192 \"... DREAMING.\"). This includes extra surrounding context but preserves the core intended change: inserting a terminal period after \"DREAMING\". Therefore, the essential edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth type.\nText Content Accuracy: The ground truth changes \"city\" to \"City.\" The prediction makes the same change from \"city\" to \"City\" with no discrepancy. Therefore, it captures the core intended edit exactly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as type \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the identical core change of adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). There is no divergence in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"view\" (\"view\" \u2192 \"view,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:44.136550",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:38:08.378822",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XXIX",
            "corrected_text": "XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period to the end of the chapter heading: \"Chapter XXIX\" \u2192 \"Chapter XXIX.\" The prediction applies the same essential punctuation change to the key element of that heading: \"XXIX\" \u2192 \"XXIX.\" Although it omits the preceding word \"Chapter\" in the original/corrected text span, it still captures the core intended edit\u2014adding a terminal period after \"XXIX\"\u2014which is the actual correction being made.\n\nTherefore, both criteria are satisfied."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"DREAMING\" \u2192 \"DREAMING.\" (adding a period). This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same core change: \"city\" \u2192 \"City\". The corrected text matches the ground truth\u2019s intended capitalization change with no discrepancy.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both indicate replacing the original text \"of\" with the corrected text \"to\". The core change is identical, with no discrepancy in the words being replaced or the intended correction. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). There is no discrepancy in the original or corrected text content. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege-lord",
            "corrected_text": "liege-lord,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:35.316730",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:25:15.032849",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth specifies a \"replacement\" edit type, and the prediction also uses \"replacement\", so the type matches exactly.\nText Content Accuracy: Both ground truth and prediction replace \"authorize\" with \"authorise\". The core change (American spelling to British spelling) is captured identically with no discrepancies. Therefore, the predicted edit matches the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": ",",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ",",
            "corrected_text": "",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:35.995507",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:37:51.102776",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same target text \"him\" and the corrected text remains \"him\" with the implied change being formatting (italics). The prediction captures the same core formatting change on the same word. Therefore, it matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both change the same original text \"authorize\" to the same corrected text \"authorise\", capturing the identical core spelling change (American to British spelling). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it.",
            "corrected_text": "it,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "of",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:49.168170",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:37:39.856341",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The prediction likewise replaces \"dryest snorts\" with \"driest of snorts,\" capturing the same essential spelling correction and the insertion of \"of.\" Although the prediction omits surrounding context (\"of the\" and the final period), it still reflects the core intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both indicate replacing \"authorize\" with \"authorise\". The core change (American spelling to British spelling) is identical. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "little premature",
            "corrected_text": "little too premature",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "score;",
            "corrected_text": "score,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:53.281144",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T11:25:38.227339",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "For",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly,",
            "corrected_text": "quickly",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me",
            "corrected_text": "me,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:54.852195",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T12:37:39.992086",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2. Text Content Accuracy: The ground truth inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction captures the same core punctuation change by editing \"For\" \u2192 \"For,\". Although it omits the following context (\"Mr. Pancks\"), it still correctly represents the essential intended edit: adding a comma immediately after \"For.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly,",
            "corrected_text": "quickly",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me",
            "corrected_text": "me,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.6-luna",
        "date": "2026-07-23T15:27:56.402483",
        "annotator": "GPT-5.6 Luna",
        "annotation_date": "2026-07-23T13:38:48.765831",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bedroom,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For,",
            "corrected_text": "For",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly,",
            "corrected_text": "quickly",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me,",
            "corrected_text": "me",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2026-07-09",
    "release_source": "https://community.openai.com/t/introducing-gpt-5-6-series-sol-terra-and-luna-coming-july-9-10am-pt/1384931",
    "release_notes": "Fast/low-cost tier of the GPT-5.6 series."
  },
  {
    "model_name": "GPT-5.6 Sol",
    "model_id": "gpt-5.6-sol",
    "date": "2026-07-23T15:21:49.132174",
    "shots": 2,
    "config": {
      "model_id": "gpt-5.6-sol",
      "display_name": "GPT-5.6 Sol",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-5.6 Sol",
    "annotation_date": "2026-07-23T11:18:05.416852",
    "file_results": [
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:19:37.980171",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:18:05.416852",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core intended punctuation change is captured identically, with no discrepancy in the original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and\". The original and corrected text strings are identical between ground truth and prediction, so the intended punctuation change is captured correctly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:19:39.531125",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:29:59.088088",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change: inserting a comma after \"howling\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"pockets and\" to \"pockets, and,\" correctly capturing the intended insertion of a comma after \"pockets.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:19:33.548762",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:30:34.392714",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to become \"pockets, and.\" The original and corrected text match the ground truth precisely.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:19:43.060091",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:18:12.374780",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir\", correctly inserting a comma after \"No\". The core intended punctuation correction is captured with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial \"why\" in the phrase \"why did he dine\" to \"Why\" (capitalizing the first word). The prediction captures the same core change by editing \"why\" \u2192 \"Why\". Although it includes less surrounding context, it correctly represents the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "!",
            "corrected_text": "?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation in \"cold stones!\" to \"cold stones?\" (i.e., replacing \"!\" with \"?\"). The prediction represents the same core change by specifying \"!\" \u2192 \"?\" without the surrounding words. This still correctly captures the essential intended correction (exclamation mark to question mark)."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:19:35.757438",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:29:46.412548",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"No sir\") and the same correction (\"No, sir\"), inserting a comma after \"No\". The core intended punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction use the type \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word in the phrase (\"why did he dine\" \u2192 \"Why did he dine\"), i.e., changing \"why\" to \"Why\" at the start of the sentence. The predicted edit captures this core change directly (\"why\" \u2192 \"Why\"), even though it includes less surrounding context. This still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation mark to a question mark (\"cold stones!\" \u2192 \"cold stones?\"). The prediction captures the same core change (\"stones!\" \u2192 \"stones?\") but with less surrounding context. Since the essential intended correction is the replacement of \"!\" with \"?\" after the same word sequence ending in \"stones\", the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:19:33.539477",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:30:44.743368",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth. Text Content Accuracy: Both ground truth and prediction change \"No sir\" to \"No, sir,\" inserting a comma after \"No.\" This captures the exact core correction with identical original and corrected text. Therefore, the prediction correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial \"w\" in \"why did he dine\" (changing \"why\" to \"Why\" while leaving the rest unchanged). The prediction captures this same core change by editing \"why\" \u2192 \"Why\". Although the prediction includes less surrounding context than the ground truth, it correctly reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\u201d",
            "corrected_text": "stones?\u201d",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:19:34.504897",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:17:57.822504",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"if\" in the phrase \"if he\" (\"if he\" \u2192 \"If he\"). The prediction likewise changes \"if\" \u2192 \"If\". Although it includes less surrounding context (omitting \"he\"), it captures the core intended change: capitalizing \"if.\" Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution by replacing \"said\" \u2192 \"asked\" (omitting the unchanged context \"Clennam\"). Since the essential intended change is the same word replacement, the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:19:34.831316",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:29:37.936070",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial \"if\" in the phrase \"if he\" \u2192 \"If he.\" The prediction applies the same core change to the word \"if\" \u2192 \"If\" without including the following word \"he.\" This is acceptable because it captures the essential intended change (capitalizing the initial 'i' in 'if'); the omitted context does not alter the substance of the correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth intends to change the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The prediction captures the same core substitution (\"said\" \u2192 \"asked\"), even though it omits the surrounding context (\"Clennam\"). Omitting unchanged context is acceptable because the essential edit (replacing \"said\" with \"asked\") is correctly represented."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:19:36.899437",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:30:16.922437",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the core intended change by capitalizing \"if\" \u2192 \"If.\" Although it omits the following word \"he\" from the original/corrected text span, it still represents the same essential capitalization correction. Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The predicted edit replaces \"said\" \u2192 \"asked\" without including the following context \"Clennam\". This still captures the core intended change (changing the verb from \"said\" to \"asked\"), and omission of surrounding context is acceptable under the criteria.\n\nTherefore, the predicted edit matches the ground truth's intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:09.004829",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:18:30.690620",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: Both edits change \"high road\" to \"high-road\", capturing the same core correction (adding a hyphen). There is no mismatch in the original or corrected text. Therefore, the predicted edit accurately reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials.\" Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same change from \"about and\" to \"about, and,\" inserting a comma after \"about.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change\u2014adding a comma after \"earnestly\" in the phrase \"earnestly telling\" to become \"earnestly, telling\". The original and corrected texts are identical between ground truth and prediction, so the core change is captured correctly."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction apply the same core change, inserting a comma between \"said\" and \"when\" (\"said when\" \u001a \"said, when\"). The original and corrected text strings match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after \"said\" (\"said\" \u2192 \"said,\"). There is no discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\" by inserting a comma after \"Clennam\". The original and corrected strings match the ground truth\u2019s core change exactly. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:18.377184",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:30:47.785804",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"materials\" in the phrase \"materials costing\" \u2192 \"materials, costing\". The predicted edit \"materials\" \u2192 \"materials,\" captures this core punctuation change (adding the comma after \"materials\"). Although the prediction includes less surrounding context (it omits \"costing\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"about\" in the phrase \"about and\" \u2192 \"about, and.\" The predicted edit \"about\" \u2192 \"about,\" captures the same essential punctuation insertion (a comma immediately after \"about\"). Although the prediction includes less surrounding context (it omits \"and\"), it still represents the core intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association,",
            "corrected_text": "association",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to remove the comma after \"association\" so the phrase reads \"association did\" instead of \"association, did.\" The predicted edit removes the comma after \"association\" (\"association,\" \u2192 \"association\"), which captures the same core punctuation change. Although the prediction includes less surrounding context (it omits \"did\"), it still implements the essential intended correction: deleting the comma after \"association.\""
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly",
            "corrected_text": "earnestly,",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"earnestly\" in the phrase \"earnestly telling\" (i.e., \"earnestly, telling\"). The prediction captures the same core change by converting \"earnestly\" to \"earnestly,\". Although it omits the following word \"telling\" from the original/corrected span, it still correctly represents the essential punctuation insertion at the correct location (after \"earnestly\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, adding a comma after \"said\" (\"said\" \u2192 \"said,\"). There is no discrepancy in original or corrected text. Therefore the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,",
            "corrected_text": "said",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam,",
            "corrected_text": "Clennam",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:27.924844",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:31:16.136437",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road\" (adding a hyphen between the words). The core change is identical, with no deviation in original or corrected text.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma to change \"about and\" to \"about, and\". There is no discrepancy in original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association,",
            "corrected_text": "association",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth removes the comma after \u201cassociation\u201d in the phrase \u201cassociation, did\u201d to make it \u201cassociation did.\u201d The predicted edit also removes the comma after \u201cassociation\u201d (\u201cassociation,\u201d \u2192 \u201cassociation\u201d). Although the prediction includes less surrounding context (it omits \u201cdid\u201d), it captures the core intended change: deleting the comma after \u201cassociation.\u201d Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling,\" inserting a comma after \"earnestly.\" This captures the core intended punctuation correction with identical original and corrected text.\n\nTherefore, the prediction correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"said when\") and the same corrected text (\"said, when\"), capturing the identical core change of inserting a comma after \"said.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change: insertion of a comma after \"Clennam.\" Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Why bless",
            "corrected_text": "Why, bless",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said;",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:19:59.533819",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:17:51.944558",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:03.930239",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:29:32.673398",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:06.837640",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:30:12.242698",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core intended punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:21.503342",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:19:04.285832",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both replace the original text \"Saone\" with the corrected text \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly\". The predicted edit \"man\" \u2192 \"man,\" captures the same essential punctuation insertion (a comma immediately after \"man\"). Although it omits the following word \"slowly\" as context, it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was\". The prediction captures the same core change by editing \"Chalons\" \u2192 \"Chalons,\". Although the prediction includes less surrounding context (it omits \"was\"), it still reflects the essential intended punctuation insertion at the correct location (after \"Chalons\")."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:31.766076",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:30:30.159509",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit type matches exactly: both are a \"replacement\". Text content also matches the intended correction: both replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the o). Therefore, the predicted edit fully captures the ground truth change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both perform the same core change, replacing \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The original_text and corrected_text are identical between ground truth and prediction, so the intended correction is captured precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly.\" The predicted edit \"man\" \u2192 \"man,\" captures the same essential punctuation insertion (a comma immediately after \"man\"). Although it includes less surrounding context (doesn\u2019t show \"slowly\"), it still represents the core intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"Chalons was\" to \"Chalons, was\", i.e., it inserts a comma immediately after \"Chalons\". The prediction changes \"Chalons\" to \"Chalons,\", which captures the same core punctuation insertion at the same location. The fact that the prediction omits the following word \"was\" is acceptable because it still represents the essential intended change (adding the comma after \"Chalons\")."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:33.005015",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:30:50.178281",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Let Loose\" to \"Let Loose.\"\u2014adding a period at the end. The core intended change is captured precisely with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2. Text Content Accuracy: Both specify the same original text \"Saone\" and the same corrected text \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core change is identical and fully captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly.\" The predicted edit \"man\" \u2192 \"man,\" captures the same core punctuation insertion at the correct location (after \"man\"). Although it includes less surrounding context (it omits \"slowly\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The prediction likewise represents adding a comma after \"Chalons\" (\"Chalons\" \u2192 \"Chalons,\"). Although it includes less surrounding context (it omits the following word \"was\"), it captures the core intended punctuation change in the correct location. Therefore, the essential edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:40.130004",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:18:53.037097",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change, inserting a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous,",
            "corrected_text": "generous",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is removing the comma after \"generous\" in the phrase \"generous, Mr.\" \u2192 \"generous Mr.\" The predicted edit \"generous,\" \u2192 \"generous\" captures the same core punctuation change (deleting that comma). Although it includes less surrounding context (it omits \"Mr.\"), it still correctly reflects the essential intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as she",
            "corrected_text": "as indeed she",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth change is inserting the word \"indeed\" into the phrase, turning \"as she did\" into \"as indeed she did.\" The prediction captures the same core insertion\u2014adding \"indeed\" after \"as\"\u2014shown as \"as she\" \u2192 \"as indeed she.\" Although the prediction provides a shorter surrounding span (omitting the trailing \"did\"), it still represents the essential intended correction: insertion of \"indeed\" in that location. Therefore, the text-content intention is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the verb tense in the phrase \"I hope so\" \u2192 \"I hoped so\" (i.e., \"hope\" \u2192 \"hoped\"). The prediction captures this core change directly as \"hope\" \u2192 \"hoped\". Although it omits surrounding context (\"I\" and \"so\"), the essential intended modification is correctly represented."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam smiling",
            "corrected_text": "Clennam, smiling",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:38.705217",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:30:50.733213",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both ground truth and prediction change \"heart so\" to \"heart, so\", inserting a comma after \"heart\". This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: removing the comma after \"generous\" in \"generous, Mr.\" to make it \"generous Mr.\". The original_text and corrected_text are identical between ground truth and prediction, capturing the core intended punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness),",
            "corrected_text": "ness);",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam smiling",
            "corrected_text": "Clennam, smiling",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "with some hurried words to the effect that",
            "corrected_text": "indeed",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:37.291613",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:32:39.247125",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so,\" inserting a comma after \"heart.\" The core change is identical with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \u201clength\u201d and \u201csaid\u201d (\"length said\" \u2192 \"length, said\"). The prediction does the same essential punctuation insertion, but includes extra surrounding context (\u201cat\u201d): \"at length said\" \u2192 \"at length, said\". Since the core intended change (adding the comma after \u201clength\u201d) is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:43.912878",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:18:35.724596",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"hers matters\" to \"hers, matters\", inserting a comma after \"hers\". The core change is identical, so the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"moment with\" to \"moment, with\" by inserting a comma after \"moment.\" The original and corrected text match the ground truth\u2019s core change exactly.\nTherefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same corrected text (\"beautiful, that\"), inserting a comma after \"beautiful.\" This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change the same word from \"they\" to \"They\". The core change (capitalizing the initial letter) is captured identically. Therefore, the prediction matches the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:56.714335",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:30:23.848328",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth. Text Content Accuracy: Both ground truth and prediction change \"hers and\" to \"hers, and\" by inserting a comma after \"hers.\" The core punctuation change is identical, with matching original and corrected text. Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"hers matters\" to \"hers, matters\", inserting a comma after \"hers\". The essential punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change of inserting a comma after \"moment\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"beautiful that\" to \"beautiful, that\", inserting a comma after \"beautiful\". The original and corrected text match the ground truth\u2019s core change exactly.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\n2) Text Content Accuracy: Both ground truth and prediction change the word \"they\" to \"They,\" capturing the same core capitalization correction with no discrepancy in original or corrected text. Therefore, the predicted edit fully matches the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:20:59.941212",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:31:15.859961",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"hers\" in the phrase \"hers and\" to make it \"hers, and\". The core punctuation modification is identical in original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma between \"hers\" and \"matters\" (\"hers matters\" \u0012 \"hers, matters\"). The core correction is identical, with no discrepancies in original or corrected text.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"moment with\" to \"moment, with\", correctly inserting a comma after \"moment\". The core change and surrounding text match the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both ground truth and prediction change \"beautiful that\" to \"beautiful, that\", inserting a comma after \"beautiful\". The core punctuation change is identical, with no discrepancy in the original or corrected text. Therefore, the prediction captures the intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change from \"they\" to \"They\" with identical original and corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:06.662363",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:19:17.204832",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change from \"Thank you!\" to \"Thank you,\" (replacing the exclamation point with a comma). The predicted edit exactly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both indicate replacing the original text \"that\" with the corrected text \"than\". The core change is identical, with no discrepancies in the words being replaced or the intended correction. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:14.524838",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:30:45.338270",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: The predicted change matches the ground truth core correction, replacing the exclamation mark with a comma (\"Thank you!\" \u2192 \"Thank you,\"). No discrepancies in the original or corrected text. Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". The core change is identical, with no discrepancy in the words being replaced or the intended correction.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:13.759083",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:31:23.220163",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original segment \"that, in\" and the same correction \"that in,\" i.e., removing the comma. The core intended change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: removing the comma in \"fancy, whatever\" to yield \"fancy whatever.\" The core punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core punctuation change: \"Thank you!\" is corrected to \"Thank you,\" (replacing the exclamation point with a comma). The original and corrected texts match the ground truth exactly, so the intended edit is captured correctly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the types match exactly. Text Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". The core intended change is identical in the prediction and the ground truth. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:27.783557",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:20:07.317983",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both identify the same core change: converting \"city\" to \"City\". There is no difference in original or corrected text content. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both replace the original text \"of\" with the corrected text \"to\". The core intended change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"them,\" to \"them;\". The core intended punctuation change (comma to semicolon) is captured precisely with identical original and corrected text.\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit applies the same core change, adding a comma after \"existence\" within a longer phrase (\"existence at\" \u2192 \"existence, at\"). This includes extra surrounding context but preserves the essential punctuation insertion at the same point. \u0644\u0630\u0644\u0643 the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core punctuation change from \"it,\" to \"it;\" with identical original and corrected text. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change within a slightly larger span of text (\"motionless when\" \u2192 \"motionless, when\"), which correctly captures the intended comma insertion after \"motionless\". The extra context (including \"when\") does not alter the essential edit.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"stand-still,\" and the same corrected text \"stand-still;\", capturing the identical core change (comma to semicolon). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds a comma in the same location within a longer snippet (\"view by\" \u2192 \"view, by\"). This includes additional context but captures the same essential punctuation insertion immediately after \"view.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "xxix",
            "corrected_text": "xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:49.132174",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:31:41.866369",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"DREAMING\" to \"DREAMING.\", adding a period at the end. This captures the same core punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change from \"city\" to \"City\" with no differences in original or corrected text. Therefore, the prediction fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"them,\" to \"them;\". The core punctuation substitution (comma to semicolon) is identical, so the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit applies the same core punctuation change, adding a comma immediately after \"existence\" within a slightly larger context (\"existence at\" \u2192 \"existence, at\"). This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit applies the same core punctuation change by converting \"motionless when\" to \"motionless, when,\" which still places the comma immediately after \"motionless.\" The extra surrounding word (\"when\") is allowable context and does not alter the essential intended correction.\n\nTherefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit inserts a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit also inserts a comma immediately after \"view\" (\"view by\" \u2192 \"view, by\"). Although the prediction includes additional surrounding context (the following word \"by\"), it captures the same core change: adding a comma after \"view\"."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each",
            "corrected_text": "to each",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "contracted existence",
            "corrected_text": "contracted existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "lord",
            "corrected_text": "Lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:48.775212",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:32:01.558017",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both identify the same change from \"city\" to \"City\". The core correction (capitalizing the first letter) is captured precisely with no discrepancy. Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both identify the same substitution, changing \"of\" to \"to\". The core change is identical with no deviation.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same core change: adding a comma after \"motionless\" (\"motionless\" \u2192 \"motionless,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after \"view\" (\"view\" \u2192 \"view,\"). The corrected text matches the ground truth precisely.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to make the punctuation following the word \"existence\" a semicolon (replacing the original comma). The prediction also results in \"existence;\". Although the predicted \"original_text\" omits the comma (\"existence\" instead of \"existence,\"), it still captures the core intended correction: the punctuation after \"existence\" should be a semicolon. Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:33.213543",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:19:39.331762",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\nText Content Accuracy: Both edits apply italics to the same word, with original_text \"him\" and corrected_text \"him\" (indicating a styling change only). The core intended change\u2014italicizing \"him\"\u2014is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"now I\" to \"now, I\", inserting a comma after \"now\". The core correction is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"replacement\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate replacing \"authorize\" with \"authorise\". The core change (American to British spelling) is identical, with no discrepancy in original or corrected text. Therefore the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now though",
            "corrected_text": "now, though",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that",
            "corrected_text": "that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:41.383739",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:31:33.258305",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same target text \"him\" with no change in wording, only formatting via italicization. The core intended change (italicize the word \"him\") is fully captured. Therefore, the predicted edit matches the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"now\" in the phrase \"now I\" \u2192 \"now, I\". The prediction captures the same core punctuation change by editing \"now\" \u2192 \"now,\". Although it omits the following word (\"I\") in the edit span, it still correctly represents the essential intended correction: adding a comma after \"now\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\", and the predicted edit type is also \"replacement\", so the type matches exactly. Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\". The core change (American to British spelling) is identical, with no discrepancies in original or corrected text. Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "of",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that",
            "corrected_text": "that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:41.113920",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:32:06.271917",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same target text \"him\" with no change in wording (only formatting/italicization). The predicted edit captures the same core intention: italicize \"him\".\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\". The core intended change (American to British spelling) is captured identically with no mismatch in original or corrected text.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that",
            "corrected_text": "that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:36.037806",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T11:19:43.486737",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction likewise inserts a comma after \"For\" in \"For Mr.\" \u2192 \"For, Mr.\" Although the predicted span truncates the following context (omitting \"Pancks\"), it still captures the core intended punctuation change: adding a comma after \"For\" before \"Mr.\" Therefore, the essential edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both edits change the phrase from \"quickly that\" to \"quickly, that\" by inserting a comma after \"quickly.\" This captures the same core punctuation change with identical original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:39.149820",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T12:31:23.280602",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches.\n\n2) Text Content Accuracy: The ground truth change is the insertion of a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The predicted edit also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the same core punctuation change in the same location and thus matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core change is identical, with no discrepancies in the original or corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.6-sol",
        "date": "2026-07-23T15:21:39.893651",
        "annotator": "GPT-5.6 Sol",
        "annotation_date": "2026-07-23T13:31:36.011819",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction similarly inserts a comma after \"For\" in \"For Mr.\" \u2192 \"For, Mr.\" Although the predicted snippet omits \"Pancks,\" it captures the core intended punctuation change (adding a comma after \"For\" before \"Mr.\"). Therefore, the essential edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change, inserting a comma after \"quickly\" in the phrase \"quickly that\" to become \"quickly, that\". The core punctuation correction is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2026-07-09",
    "release_source": "https://community.openai.com/t/introducing-gpt-5-6-series-sol-terra-and-luna-coming-july-9-10am-pt/1384931",
    "release_notes": "Flagship tier of the GPT-5.6 series (Sol/Terra/Luna), released 2026-07-09."
  },
  {
    "model_name": "GPT-5.6 Terra",
    "model_id": "gpt-5.6-terra",
    "date": "2026-07-23T15:24:44.541455",
    "shots": 2,
    "config": {
      "model_id": "gpt-5.6-terra",
      "display_name": "GPT-5.6 Terra",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-5.6 Terra",
    "annotation_date": "2026-07-23T11:21:00.747970",
    "file_results": [
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:26.448164",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:21:00.747970",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both apply the same core change\u2014adding a period to convert \"Fellow Travellers\" into \"Fellow Travellers.\" The original and corrected texts are identical between ground truth and prediction, capturing the intended punctuation insertion precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change\u2014adding a comma after \"yonder\". Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\nText Content Accuracy: The predicted change converts \"Sir\" to \"sir,\" identical to the ground truth\u2019s original_text and corrected_text. This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change, inserting a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). There is no mismatch in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:23.818497",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:33:02.110370",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"howling over\" to \"howling, over\", which is essentially inserting a comma after the word \"howling\" (i.e., between \"howling\" and \"over\"). The prediction captures this same core change by converting \"howling\" to \"howling,\". Although it omits the following word \"over\" from the span, it still correctly represents the intended punctuation insertion at the same location."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day\". The prediction also inserts a comma after \"yonder\" (\"yonder\" \u2192 \"yonder,\"). Although the prediction includes less surrounding context (it omits \"to-day\"), it still captures the core intended punctuation change: adding a comma immediately after \"yonder\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"Sir\" to \"sir,\" capturing the same core capitalization correction with identical original and corrected text.\nTherefore, the prediction correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"pockets and\" to \"pockets, and\", inserting a comma after \"pockets\". The core intended punctuation change is captured identically.\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "So",
            "corrected_text": "so",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:24.240888",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:33:41.139775",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core intended punctuation change is captured identically. Therefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change: insertion of a comma after \"howling.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the intended insertion of a comma after \"yonder\". No discrepancies in the core change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets.\" This captures the core intended punctuation correction with identical original and corrected text spans.\n\nTherefore, the prediction correctly matches the ground truth on both criteria."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:21.157068",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:21:11.422958",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"No sir\" to \"No, sir,\" inserting a comma after \"No.\" The predicted edit captures the core intended change exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones?",
            "corrected_text": "stones?\u201d",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "why",
            "corrected_text": "\u201cwhy",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:14.981644",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:32:40.997164",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial \"why\" in the phrase \"why did he dine\" to \"Why\" (i.e., capitalizing the first word). The prediction captures this same core change by editing \"why\" \u2192 \"Why\". Although it provides less surrounding context than the ground truth, it still reflects the essential correction intended."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think, ",
            "corrected_text": "think, \u201c",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones?",
            "corrected_text": "stones?\u201d",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:26.281751",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:33:35.201524",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"No sir\") and the same correction (\"No, sir\"), inserting a comma after \"No.\" This fully captures the core intended edit with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial \"why\" in the phrase \"why did he dine\" to \"Why\" (i.e., capitalizing the first letter at the start of the sentence/phrase). The prediction captures this same core change by specifying \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:25.289577",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:20:51.406133",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"if\" in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same essential change (\"if\" \u2192 \"If\"). Although it omits the following word \"he\" from the original/corrected text span, it still reflects the core intended correction: capitalizing \"if.\" Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the verb \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The predicted edit replaces \"said\" with \"asked\" without including the following context (\"Clennam\"), but it still captures the essential intended change (said \u2192 asked). Additional surrounding context is optional, so this is considered a correct match to the ground truth\u2019s core correction."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:23.327117",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:32:26.402774",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The predicted edit captures the same core substitution (\"said\" \u2192 \"asked\"), merely omitting the surrounding context (\"Clennam\"). Since the essential change is correctly represented, the content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:16.289194",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:33:14.480901",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The predicted edit captures the same core substitution (\"said\" \u2192 \"asked\"), even though it omits the surrounding context \"Clennam\". Since the essential intended change is correctly identified, the content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:14.079548",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:21:15.981762",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road,\" capturing the identical core edit (inserting a hyphen between the words). Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"materials costing\" to \"materials, costing\", inserting a comma after \"materials\". The core change is identical, so the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same correction (\"about, and\"), inserting a comma after \"about\". This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association,",
            "corrected_text": "association",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change removes the comma after \"association\" in the phrase \"association, did\" \u2192 \"association did\". The predicted edit removes the comma after \"association\" as well (\"association,\" \u2192 \"association\"). Although the prediction includes less surrounding context (it omits \"did\"), it captures the core intended change: deleting the comma after \"association\". \u0644\u0630\u0644\u0643 the essential punctuation correction matches the ground truth's intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change of inserting a comma after \"earnestly\". No discrepancies in the intended punctuation change."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: adding a comma after \"said\" (\"said\" \u2192 \"said,\"). There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"Clennam\" (\"Clennam in\" \u0000 \"Clennam, in\"). The original_text and corrected_text are identical between ground truth and prediction, capturing the intended punctuation correction precisely."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,",
            "corrected_text": "said",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:15.406212",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:32:49.825816",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change: insertion of a comma after \"materials.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"about\" to change \"about and\" to \"about, and.\" There is no discrepancy in original or corrected text content. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"association, did\") and the same corrected text (\"association did\"), capturing the intended removal of the comma between \"association\" and \"did.\" Therefore, the core change matches the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: inserting a comma after \"earnestly\" in the phrase \"earnestly telling\" to become \"earnestly, telling\". The core punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"said when\" to \"said, when,\" inserting a comma after \"said.\" This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"said\" is corrected to \"said,\" by adding a comma. The original_text and corrected_text match the ground truth precisely. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The core punctuation correction is identical. Therefore the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:12.790216",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:33:44.399442",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same change from \"materials costing\" to \"materials, costing,\" inserting a comma after \"materials.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both identify the same original text (\"about and\") and the same correction (\"about, and\"), inserting a comma after \"about\". The core change is identical, with no discrepancy in the intended punctuation adjustment."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original span \"earnestly telling\" and the same correction \"earnestly, telling\", inserting a comma after \"earnestly\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"said when\") and the same corrected text (\"said, when\"), capturing the identical core change\u2014adding a comma after \"said.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"said\" \u2192 \"said,\", i.e., inserting a comma after the word \"said\". There is no discrepancy in the original or corrected text. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam.\" Therefore, the predicted edit fully matches the ground truth intent."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "associa-tion",
            "corrected_text": "association",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:52.981049",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:20:50.336340",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow,",
            "corrected_text": "Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:55.180840",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:32:20.407476",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:22:55.882455",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:33:14.040190",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ",",
            "corrected_text": ".",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:03.543495",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:21:02.200850",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original span \"dull autumn\" and the same corrected span \"dull, autumn\", inserting a comma after \"dull\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"Saone\" and the same corrected text \"Sa\u00f4ne\" (adding the circumflex on 'o'). The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"man slowly\" to \"man, slowly,\" inserting a comma after \"man.\" The core punctuation change is identical."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "poplar-trees",
            "corrected_text": "poplar trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone it",
            "corrected_text": "Saone, it",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:08.693698",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:32:32.797049",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change: insertion of a comma after \"dull\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"man slowly\" to \"man, slowly\", correctly capturing the intended insertion of a comma after \"man\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:12.437633",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:33:43.767992",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same correction (\"dull, autumn\"), inserting a comma after \"dull\". This captures the core intended change with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"man slowly\" to \"man, slowly\", correctly capturing the intended insertion of a comma after \"man\". Therefore, the predicted edit matches the ground truth in both type and core textual change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:34.827419",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:21:28.746751",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"heart so\") and the same corrected text (\"heart, so\"), capturing the identical core change\u2014adding a comma after \"heart.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core punctuation insertion, but includes additional surrounding context (\"at length said\" \u2192 \"at length, said\"). This still captures the essential intended edit: adding a comma after \"length\" before \"said.\" \u05dc\u05db\u05df the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change from present to past tense. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:28.846378",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:32:50.516087",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart",
            "corrected_text": "heart,",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"heart\" in the sequence \"heart so\" \u2192 \"heart, so.\" The predicted edit \"heart\" \u2192 \"heart,\" captures this same core punctuation insertion (adding a comma immediately after \"heart\"). Although the prediction omits the following word \"so,\" it still represents the essential intended correction: placing a comma after \"heart.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (present tense to past tense). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked",
            "corrected_text": "indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:28.534345",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:33:35.422855",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"heart\" to change \"heart so\" to \"heart, so\"\u2014with identical original and corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the same original text \"I hope so\" with the same corrected text \"I hoped so\". The core change (tense shift from hope \u2192 hoped) is captured identically.\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:49.308479",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:21:46.961999",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"hers and\" to \"hers, and,\" inserting a comma after \"hers.\" The core punctuation change is identical with no discrepancy in original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The core textual correction is identical. Therefore the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"moment\" (\"moment with\" \u2192 \"moment, with\"). The original and corrected text are identical between ground truth and prediction, capturing the core intended punctuation change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same corrected text (\"beautiful, that\"), capturing the identical core change\u2014adding a comma after \"beautiful\". Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:52.661067",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:33:03.976909",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: inserting a comma after \"hers\" in the phrase \"hers and\", resulting in \"hers, and\". The original_text and corrected_text match the ground truth\u2019s core change exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core punctuation change: inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The original and corrected texts are identical between ground truth and prediction, capturing the intended edit precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The core intended punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original span (\"beautiful that\") and the same correction (\"beautiful, that\"), inserting a comma after \"beautiful\". The core intended punctuation change is captured precisely."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly. 2) Text Content Accuracy: Both ground truth and prediction change \"they\" to \"They,\" capturing the same core capitalization correction with identical original and corrected text. Therefore, the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:23:53.185595",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:34:00.125774",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original_text (\"hers and\") and the same corrected_text (\"hers, and\"), capturing the identical core change of inserting a comma after \"hers\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n2) Text Content Accuracy: Both ground truth and prediction change \"beautiful that\" to \"beautiful, that\" by inserting a comma after \"beautiful.\" This captures the exact core punctuation correction with identical original and corrected text.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, converting \"they\" to \"They\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit accurately captures the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:07.853057",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:21:37.216703",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text \"shore and\" and the same corrected text \"shore, and,\" capturing the identical core change (inserting a comma after \"shore\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify replacing the original text \"that\" with the corrected text \"than\". This captures the core intended change exactly. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you\u201d",
            "corrected_text": "Thank you,\u201d",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:03.734231",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:33:26.529880",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original segment (\"shore and\") and the same correction (\"shore, and\"), capturing the core intended change of inserting a comma after \"shore\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\", capturing the same core change. Line numbers are ignored as instructed, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you\u201d",
            "corrected_text": "Thank you,\u201d",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:00.637285",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:34:10.224488",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change of inserting a comma after \"shore\". Therefore, the predicted edit matches the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". The core intended change is captured with no discrepancies. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you\u201d",
            "corrected_text": "Thank you,\u201d",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:16.066025",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:22:06.184292",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\". The original and corrected texts are identical between ground truth and prediction, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\n\nText Content Accuracy: The predicted change is \"city\" \u2192 \"City,\" which is identical to the ground truth and captures the core intended capitalization correction without altering any other content.\n\nTherefore, the prediction correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change: replacing \"them,\" with \"them;\". There is no discrepancy in original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"it,\") and the same corrected text (\"it;\"), capturing the identical core change from comma to semicolon. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"stand-still,\" and the same corrected text \"stand-still;\". The core change\u2014replacing the comma with a semicolon\u2014is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation: \"existence,\" \u2192 \"existence;\". The core intended punctuation change (comma to semicolon) is captured precisely with identical original and corrected text.\n\nTherefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch Goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch Goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:44.541455",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:33:47.216953",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\" The original_text and corrected_text align perfectly with the ground truth intention.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MRS. FLINTWINCH GOES ON DREAMING",
            "corrected_text": "MRS. FLINTWINCH GOES ON DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit adds a period after the word \"DREAMING\" (\"DREAMING\" \u2192 \"DREAMING.\"). The predicted edit adds a period at the end of a longer phrase whose final word is \"DREAMING\" (\"... DREAMING\" \u2192 \"... DREAMING.\"). This includes extra surrounding context but preserves the same core punctuation change\u2014adding a period immediately after \"DREAMING\". \u0644\u0630\u0644\u0643 the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"city\" to \"City,\" capturing the identical core correction (capitalizing the first letter). Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"of\" with \"to\". The core textual change is identical and fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after \"existence\" (\"existence\" \u2192 \"existence,\"). The corrected text matches the ground truth\u2019s intention with no discrepancy."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the identical core change: adding a comma after \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit fully captures the intended correction with no discrepancy."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"view\" (\"view\" \u2192 \"view,\"). The predicted edit fully captures the ground truth\u2019s intended punctuation correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to make the punctuation after \"existence\" a semicolon (i.e., \"existence,\" \u2192 \"existence;\"). The prediction also results in \"existence;\" as the corrected text. Although the predicted original_text omits the comma (\"existence\" instead of \"existence,\"), it still captures the core intended change: the word should end with a semicolon rather than whatever punctuation was there before. Therefore, the essential correction (ending punctuation becomes a semicolon) is correctly represented."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lord",
            "corrected_text": "lord,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:35.038425",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:34:29.167579",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both apply the same core change, adding a period to transform \"Chapter XXIX\" into \"Chapter XXIX.\". The original and corrected texts are identical between ground truth and prediction, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MRS. FLINTWINCH GOES ON DREAMING",
            "corrected_text": "MRS. FLINTWINCH GOES ON DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period after the word \"DREAMING\" (\"DREAMING\" \u2192 \"DREAMING.\"). The predicted edit adds a period after \"DREAMING\" within the longer phrase (\"MRS. FLINTWINCH GOES ON DREAMING\" \u2192 \"MRS. FLINTWINCH GOES ON DREAMING.\"). This includes additional surrounding context but captures the same core punctuation change at the same target word. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both ground truth and prediction change \"city\" to \"City\", capturing the same core capitalization correction with identical original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core replacement: \"them,\" \u2192 \"them;\". This captures the identical intended punctuation correction. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still;",
            "corrected_text": "stand-still,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "always",
            "corrected_text": "always to",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:32.276038",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:22:11.183386",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The original and corrected text strings are identical between ground truth and prediction, so the intended correction is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\", capturing the identical core spelling change. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \u201cnot",
            "corrected_text": "Clennam, \u201cnot",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:34.865214",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:34:08.487705",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit specify the type as \"italicize\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same target text \"him\" with no change in wording other than applying italics. The prediction captures the same core intention: italicize the word \"him\". Therefore, the predicted edit matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"now I\" to \"now, I\" (inserting a comma after \"now\"). The core intended punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing \"authorize\" with \"authorise\". There is no discrepancy in original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:33.156121",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:34:27.022747",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"now I\" to \"now, I,\" inserting a comma after \"now.\" This captures the core intended change precisely with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same substitution of \"authorize\" with \"authorise\". The core change is identical, with no discrepancy in original or corrected text.\nTherefore, the predicted edit fully matches the ground truth intent."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:42.337757",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T11:22:20.109628",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed.",
            "corrected_text": "bed;",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "For",
            "corrected_text": "for",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": ",that",
            "corrected_text": ", that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me,",
            "corrected_text": "me;",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:36.889405",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T12:34:04.789859",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly,",
            "corrected_text": "quickly",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me,",
            "corrected_text": "me\u2014",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt-5.6-terra",
        "date": "2026-07-23T15:24:39.968584",
        "annotator": "GPT-5.6 Terra",
        "annotation_date": "2026-07-23T13:34:31.201756",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The predicted edit similarly inserts a comma after \"For\" in the shorter span \"For Mr.\" \u2192 \"For, Mr.\". Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change (adding the comma after \"For\"). Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\" (inserting a comma after \"quickly\"). The core change is identical, with no discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2026-07-09",
    "release_source": "https://community.openai.com/t/introducing-gpt-5-6-series-sol-terra-and-luna-coming-july-9-10am-pt/1384931",
    "release_notes": "Mid tier of the GPT-5.6 series; OpenAI positions Terra as matching GPT-5.5."
  },
  {
    "model_name": "GPT-6 Astra (OR)",
    "model_id": "or_openai_gpt_6_astra",
    "date": "2026-09-06T04:26:43.787920",
    "shots": 2,
    "config": {
      "model_id": "or_openai_gpt_6_astra",
      "display_name": "GPT-6 Astra (OR)",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-09-06",
      "notes": "Benchmark run with 2-shot learning at high reasoning effort"
    },
    "annotator": "GPT-6 Astra (OR)",
    "annotation_date": "2026-09-06T04:18:19.772798",
    "file_results": [
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:02.683351",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:18:19.772798",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to add a period at the end of the heading/phrase \"Fellow Travellers\" (i.e., \"Fellow Travellers\" \u2192 \"Fellow Travellers.\"). The prediction applies the same core change\u2014adding a period to the final word \"Travellers\" (\"Travellers\" \u2192 \"Travellers.\"). Although the prediction omits the preceding word \"Fellow\" in its span, it still captures the essential intended correction: inserting a period after \"Travellers\" at the end of the phrase."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after the word \"howling\" in the phrase \"howling over\" (i.e., \"howling over\" \u2192 \"howling, over\"). The predicted edit captures the same core punctuation action by changing \"howling\" \u2192 \"howling,\". Although it omits the following word \"over\" from the span, it still represents inserting the comma at the correct location (after \"howling\"), which is the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day.\" The predicted edit \"yonder\" \u2192 \"yonder,\" captures the same essential punctuation insertion (a comma immediately following \"yonder\"). Although it omits the trailing context (\"to-day\"), it still reflects the core intended change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"Sir\" to \"sir\". The core intended change (lowercasing the initial letter) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and.\" The prediction captures the same core punctuation change by editing \"pockets\" \u2192 \"pockets,\". Although it omits the following word \"and\" as context, it still correctly represents the essential intended edit: adding a comma immediately after \"pockets.\""
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:00.507726",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:20:46.410226",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period at the end of the phrase \"Fellow Travellers\" (i.e., after \"Travellers\"). The predicted edit adds a period after \"Travellers\" as well, just with less surrounding context (it omits \"Fellow\"). Since the essential correction\u2014adding the terminal period after \"Travellers\"\u2014is captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"howling\" in the phrase \"howling over\" to make it \"howling, over\". The prediction edits \"howling\" to \"howling,\", which captures the same essential punctuation change (adding the comma immediately after \"howling\"). The omission of the following word \"over\" is acceptable because the core correction\u2014the comma insertion after \"howling\"\u2014is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit inserts a comma after the word \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day\". The predicted edit \"yonder\" \u2192 \"yonder,\" captures this core intended change (adding a comma immediately after \"yonder\"). Although the prediction omits the following word \"to-day\" from its span, it still correctly represents the essential punctuation correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"Sir\" to \"sir\" (lowercasing the initial letter). There is no discrepancy in original or corrected text. Therefore, the prediction captures the ground truth edit precisely."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"pockets\" (changing \"pockets and\" to \"pockets, and\"). The prediction also inserts a comma after \"pockets\" (\"pockets\" \u2192 \"pockets,\"). Although it includes less surrounding context (omitting the following \"and\"), it captures the same core punctuation change the ground truth specifies."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:06.360904",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:22:46.447264",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period at the end of the title/phrase \"Fellow Travellers\" \u2192 \"Fellow Travellers.\". The prediction applies the same essential punctuation change to the final word \"Travellers\" \u2192 \"Travellers.\". Although it omits the preceding word \"Fellow\", it still captures the core intended edit: insert a period at the end of the heading/phrase. Additional surrounding context is not required, so this is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"howling\" in the phrase \"howling over\" (i.e., \"howling over\" \u2192 \"howling, over\"). The predicted edit captures this core punctuation action by changing \"howling\" \u2192 \"howling,\". Although it includes less surrounding context (it does not explicitly include the following word \"over\"), it still represents the same essential correction: adding a comma immediately after \"howling.\" Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day\". The predicted edit \"yonder\" \u2192 \"yonder,\" captures the same core punctuation change (adding the comma immediately after \"yonder\"), even though it includes less surrounding context. Since the essential intended modification is correctly represented, the content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core transformation from \"Sir\" to \"sir\". There is no mismatch in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: The ground truth inserts a comma after \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and.\" The prediction also captures this core change by converting \"pockets\" \u2192 \"pockets,\" (adding the comma immediately after the word). Although the prediction omits the following word \"and\" from the context, it still represents the same essential punctuation insertion at the correct location. Therefore, the predicted edit matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:24:55.699056",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:18:30.098494",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No",
            "corrected_text": "No,",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"No\" in the phrase \"No sir\" \u2192 \"No, sir.\" The predicted edit \"No\" \u2192 \"No,\" captures the same core punctuation change (adding a comma immediately after \"No\"). Although it omits the following word \"sir\" as context, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction captures the same core change by converting \"why\" to \"Why.\" Although it includes less surrounding context, it correctly represents the essential capitalization correction intended in the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation point to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction captures the same core change (\"!\" \u2192 \"?\") on the key word segment \"stones!\" \u2192 \"stones?\". Although it includes less surrounding context (omits \"cold\"), it still reflects the essential intended correction to the punctuation at the end of the phrase."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:24:56.420552",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:20:50.736983",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No",
            "corrected_text": "No,",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth correction changes \"No sir\" to \"No, sir,\" which is specifically the insertion of a comma immediately after \"No.\" The predicted edit changes \"No\" to \"No,\", capturing the same essential punctuation insertion at the correct location. Although the prediction omits the following word \"sir\" (less context), it still represents the core intended change: adding the comma after \"No\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth type.\n\n2) Text Content Accuracy: The ground truth capitalizes the first word of the phrase \"why did he dine\" to \"Why did he dine.\" The prediction captures the same core change by converting \"why\" to \"Why.\" Although it provides less surrounding context, it correctly represents the essential intended correction (capitalizing the initial 'w' in 'why')."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation mark to a question mark (\"cold stones!\" \u2192 \"cold stones?\"). The prediction applies the same core change to the same word sequence at the point of punctuation (\"stones!\" \u2192 \"stones?\") but with less surrounding context. Since the essential intended edit is the punctuation swap ! \u2192 ? after \u201cstones\u201d, the prediction correctly captures the ground truth\u2019s intention."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:00.329981",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:23:03.650109",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No",
            "corrected_text": "No,",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"No sir\" to \"No, sir\", which is the insertion of a comma immediately after the word \"No\". The prediction changes \"No\" to \"No,\", which captures the same core punctuation change (adding a comma after \"No\"). Although the prediction includes less surrounding context (it omits \"sir\"), it still correctly represents the essential intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is to capitalize the initial word in the phrase \"why did he dine\" \u2192 \"Why did he dine\". The prediction captures the same core change by converting \"why\" \u2192 \"Why\". Although it provides less surrounding context than the ground truth, it correctly represents the essential intended correction (capitalizing \"why\")."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation point to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction captures the same core change at the same word boundary: \"stones!\" \u2192 \"stones?\". Although it omits the preceding word \"cold\", it still correctly represents the essential intended edit (replacing ! with ? after \"stones\"). Additional or reduced context is acceptable as long as the core change is preserved.\n\nTherefore, the predicted edit matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:24:53.719810",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:18:25.969520",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word \"if\" in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same core change by capitalizing \"if\" \u2192 \"If\"; it simply provides a narrower span of text (omitting the following word \"he\"). Since the essential correction\u2014capitalizing \"if\"\u2014is correctly represented, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the verb in the phrase \"said Clennam\" to \"asked Clennam.\" The prediction captures the core change by replacing \"said\" with \"asked.\" Although it omits the surrounding context word \"Clennam\" in the original/corrected spans, it still represents the essential intended correction (said \u2192 asked). Therefore, the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:24:56.631470",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:20:40.222792",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction captures the core change by capitalizing \"if\" \u2192 \"If\" (with less surrounding context). Since the essential intended correction is the capitalization of \"if\", the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the type matches exactly.\n2. Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\". The prediction changes \"said\" to \"asked\" without including the following word \"Clennam\", but it still captures the core intended change (replacing \"said\" with \"asked\"). Additional surrounding context is optional, so this is acceptable."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:01.677414",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:22:50.218460",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"if\" at the start of the phrase \"if he\" (\"if he\" \u2192 \"If he\"). The prediction applies the same capitalization change to the core word itself (\"if\" \u2192 \"If\"). Although it includes less surrounding context (omits \"he\"), it still captures the essential intended correction: capitalizing \"if\". Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution (\"said\" \u2192 \"asked\"). Although it omits the surrounding context word \"Clennam\" in the original/corrected_text fields, the essential intended change is correctly represented and does not alter the meaning of the edit."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:16.205529",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:18:53.055908",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both specify the same core change, converting \"high road\" to the hyphenated form \"high-road.\" There is no mismatch in the original or corrected text, so the prediction captures the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"materials\" in the phrase \"materials costing\" \u2192 \"materials, costing\". The predicted edit captures this same core change by converting \"materials\" \u2192 \"materials,\". Although it does not include the following word \"costing\" in the span, it still correctly represents the essential punctuation insertion intended by the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"about\" in the phrase \"about and\" \u2192 \"about, and\". The prediction captures the same core punctuation change by editing \"about\" \u2192 \"about,\". Although it omits the following word \"and\" from its span, it still correctly represents the essential intended correction (adding a comma immediately after \"about\")."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association,",
            "corrected_text": "association",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2. Text Content Accuracy: The ground truth intends to remove the comma after \"association\" (changing \"association, did\" to \"association did\"). The prediction removes the comma after \"association\" as well (\"association,\" \u2192 \"association\"). Although the prediction includes less surrounding context (it omits \"did\"), it captures the core intended change: deletion of the comma following \"association.\""
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly",
            "corrected_text": "earnestly,",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"earnestly\" in the phrase \"earnestly telling\" \u2192 \"earnestly, telling.\" The prediction captures the same core change by converting \"earnestly\" \u2192 \"earnestly,\". Although it includes less surrounding context (it omits the following word \"telling\"), it still correctly represents the essential punctuation edit: adding a comma immediately after \"earnestly.\""
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when\". The predicted edit captures the same core punctuation change by converting \"said\" \u2192 \"said,\", which is precisely the comma insertion required before \"when\". Although the prediction provides less surrounding context (it omits \"when\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in\". The prediction specifies \"Clennam\" \u2192 \"Clennam,\", which captures the same essential punctuation insertion (adding a comma immediately after \"Clennam\"). Although the prediction omits the following word \"in\", it still represents the core intended change."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said:",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:24.180703",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:21:09.984674",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high\u00b7road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to convert \u201chigh road\u201d into the hyphenated form \u201chigh-road.\u201d The prediction also yields the same corrected text \u201chigh-road\u201d and targets the same compound (\u201chigh\u201d + \u201croad\u201d). Although the predicted original uses a middle dot (\"high\u00b7road\") instead of a space (\"high road\"), the essential editorial intention\u2014hyphenating the compound\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"materials\" in the phrase \"materials costing\" to make it \"materials, costing.\" The prediction captures the same core punctuation change by changing \"materials\" to \"materials,\" (it omits the following word \"costing,\" but that context is not required as long as the essential edit\u2014adding the comma after \"materials\"\u2014is represented)."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"about\" in the phrase \"about and\" (i.e., \"about and\" \u2192 \"about, and\"). The prediction captures the same core punctuation change by converting \"about\" \u2192 \"about,\". Although it omits the following word \"and\" from the edit span, it still reflects the essential intended correction: adding a comma after \"about\" before \"and\"."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association,",
            "corrected_text": "association",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth removes the comma after \"association\" in the sequence \"association, did\" \u2192 \"association did\". The predicted edit \"association,\" \u2192 \"association\" captures the same core change (deleting the comma after \"association\"). Although the prediction includes less surrounding context (it omits \"did\"), it still correctly represents the essential punctuation correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly",
            "corrected_text": "earnestly,",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"earnestly\" in the phrase \"earnestly telling\" \u2192 \"earnestly, telling\". The predicted edit \"earnestly\" \u2192 \"earnestly,\" captures the same core punctuation action (adding a comma immediately after \"earnestly\"). Although the prediction includes less surrounding context (it omits \"telling\"), it still reflects the essential intended correction: inserting the comma at that position."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when\". The predicted edit \"said\" \u2192 \"said,\" captures the same core punctuation insertion (adding a comma immediately after \"said\"). Although it includes less surrounding context (it does not mention the following word \"when\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in.\" The predicted edit \"Clennam\" \u2192 \"Clennam,\" captures the same essential punctuation insertion (a comma immediately after \"Clennam\"). Although it omits the following word \"in\" from the context, it still reflects the core intended change."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said:",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:21.370259",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:23:16.948931",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"high road\" to \"high-road\" (inserting a hyphen). The core intended correction is captured with identical original and corrected text. Therefore, the prediction matches the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"materials\" (changing \"materials costing\" to \"materials, costing\"). The predicted edit captures this same core change by changing \"materials\" to \"materials,\". Although the prediction does not include the following word \"costing\" in its original/corrected text span, it still correctly represents the essential punctuation insertion at the correct location (immediately after \"materials\")."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"about\" in the phrase \"about and\" \u2192 \"about, and\". The prediction captures the same core punctuation change by converting \"about\" \u2192 \"about,\". Although it omits the following word \"and\" in its span, it still correctly reflects the essential intended edit: adding a comma after \"about\" before \"and\"."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association,",
            "corrected_text": "association",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change removes the comma after \u201cassociation\u201d so that \u201cassociation, did\u201d becomes \u201cassociation did.\u201d The predicted edit removes the comma after \u201cassociation\u201d (\u201cassociation,\u201d \u2192 \u201cassociation\u201d). Although it includes less surrounding context (it omits \u201cdid\u201d), it captures the core intended correction: deleting the comma after \u201cassociation.\u201d Therefore, the text-content intention matches."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly",
            "corrected_text": "earnestly,",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"earnestly\" in the phrase \"earnestly telling\" \u2192 \"earnestly, telling\". The prediction captures the same essential change by editing \"earnestly\" \u2192 \"earnestly,\". Although it includes less surrounding context (it omits the following word \"telling\"), it still correctly represents the intended punctuation insertion at the same location."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when\". The predicted edit \"said\" \u2192 \"said,\" captures the same core punctuation change (adding a comma immediately after \"said\"). Even though it omits the following word \"when\" from the span, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in\". The prediction captures the same core punctuation change by editing \"Clennam\" \u2192 \"Clennam,\". Although it omits the following word \"in\" as context, it still applies the comma insertion to the correct token and reflects the essential intended correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said:",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:25.219039",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:18:17.205581",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow",
            "corrected_text": "Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period to the end of the phrase \"Sun and Shadow\" (i.e., the period goes after the final word \"Shadow\"). The prediction captures the same core punctuation change by showing \"Shadow\" \u2192 \"Shadow.\", which places the period in the correct location. Although the prediction includes less surrounding context (it omits \"Sun and\"), it still reflects the essential intended edit: adding a terminal period after \"Shadow\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1",
            "corrected_text": "1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:25.302190",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:20:38.026413",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow",
            "corrected_text": "Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth adds a period to the end of the title \"Sun and Shadow\" (i.e., after \"Shadow\"). The prediction adds a period after \"Shadow\" as well, but includes less surrounding context (only the final word). Since the core intended change is adding a period at the end (after \"Shadow\"), the prediction captures the essential correction despite the shorter span of original/corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I",
            "corrected_text": "I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:26.821001",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:22:52.541745",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow",
            "corrected_text": "Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to add a period to the end of the title \"Sun and Shadow\" (i.e., after the final word \"Shadow\"). The predicted edit adds a period to \"Shadow\" \u2192 \"Shadow.\", which places the period in the same intended location (the end of the title). Although the prediction includes less surrounding context (omitting \"Sun and\"), it still captures the core change: adding terminal punctuation after the last word."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1",
            "corrected_text": "1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:46.230788",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:18:28.590117",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Loose",
            "corrected_text": "Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period at the end of the phrase \"Let Loose\" (\"Let Loose\" \u2192 \"Let Loose.\"). The predicted edit adds a period after the final word \"Loose\" (\"Loose\" \u2192 \"Loose.\"), which captures the same core intention: inserting a terminal period at the end of the relevant text. Although the prediction includes less surrounding context (omits \"Let\"), the essential punctuation change is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull",
            "corrected_text": "dull,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"dull\" in the phrase \"dull autumn\" (i.e., \"dull autumn\" \u2192 \"dull, autumn\"). The prediction captures the same core punctuation change by editing \"dull\" \u2192 \"dull,\". Although it omits the following word \"autumn\" from the context, it still correctly represents the essential intended edit: adding a comma immediately after \"dull\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The original and corrected texts are identical between ground truth and prediction, so the core change is captured correctly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'), which is the core intended correction. No mismatch in original or corrected text content."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"man\" in the phrase \"man slowly\" (\"man slowly\" \u2192 \"man, slowly\"). The predicted edit (\"man\" \u2192 \"man,\") captures the same essential punctuation insertion at the same location. Although it includes less surrounding context (it omits \"slowly\"), it still represents the core intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was.\" The prediction also captures the essential change by converting \"Chalons\" \u2192 \"Chalons,\" (adding the comma immediately after \"Chalons\"). Although the prediction includes less surrounding context (it omits \"was\"), it still reflects the same core punctuation edit intended in the ground truth."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XI",
            "corrected_text": "XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trees",
            "corrected_text": "trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:46.796212",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:20:50.026289",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Loose",
            "corrected_text": "Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to add a period at the end of the phrase \"Let Loose\" (\"Let Loose\" \u2192 \"Let Loose.\"). The prediction captures the same core change\u2014adding a final period\u2014by applying it to the last word (\"Loose\" \u2192 \"Loose.\"). Although it includes less surrounding context, it correctly represents the essential punctuation insertion at the end of the relevant text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull",
            "corrected_text": "dull,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"dull\" in the phrase \"dull autumn\" (becoming \"dull, autumn\"). The predicted edit \"dull\" \u2192 \"dull,\" captures this same core punctuation change (adding the comma immediately after \"dull\"), even though it omits the following word \"autumn\". This is acceptable because it preserves the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'), capturing the identical core correction. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both indicate the same core change, replacing \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the o). There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is the insertion of a comma immediately after the word \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction also inserts a comma after \"man\" (\"man\" \u2192 \"man,\"). Although the prediction includes less surrounding context (it omits the following word \"slowly\"), it captures the essential intended punctuation change in the correct location. Therefore, the core edit is correctly represented."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The predicted edit also inserts a comma after \"Chalons\" (\"Chalons\" \u2192 \"Chalons,\"). Although the prediction includes less surrounding context (it omits the following word \"was\"), it captures the core intended punctuation change\u2014adding the comma immediately after \"Chalons.\""
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XI",
            "corrected_text": "XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trees",
            "corrected_text": "trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:47.084939",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:23:04.653429",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull",
            "corrected_text": "dull,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth intends to insert a comma after the word \"dull\" (changing \"dull autumn\" to \"dull, autumn\"). The prediction captures the same core change by changing \"dull\" to \"dull,\". Although it omits the following word \"autumn\" from the span, it still represents the essential punctuation insertion at the correct location (after \"dull\"). Therefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth and prediction both specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both edits replace the original text \"Saone\" with the corrected text \"Sa\u00f4ne\" (adding the circumflex over the 'o'), matching the core intended change precisely. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the types match exactly.\n\nText Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the o). The original_text and corrected_text match the ground truth\u2019s intended core change exactly. Therefore, the prediction captures the essential correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly\". The prediction captures the same core change by editing \"man\" \u2192 \"man,\". Although it omits the following word \"slowly\" from the edit span, it still correctly represents the essential punctuation insertion at the correct location."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was.\" The predicted edit \"Chalons\" \u2192 \"Chalons,\" captures the same core punctuation change (adding a comma immediately after \"Chalons\"). Although it omits the following word \"was\" as context, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XI",
            "corrected_text": "XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trees",
            "corrected_text": "trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Loose",
            "corrected_text": "Loose.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:55.792838",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:18:34.099869",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart",
            "corrected_text": "heart,",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth intends to insert a comma after the word \"heart\" in the phrase \"heart so,\" producing \"heart, so.\" The predicted edit changes \"heart\" to \"heart,\", which captures the same essential punctuation insertion (a comma immediately after \"heart\"). Although the prediction omits the following word \"so\" from its context, it still represents the core intended change at the correct location."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous,",
            "corrected_text": "generous",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is the removal of the comma after \"generous\" (turning \"generous, Mr.\" into \"generous Mr.\"). The predicted edit also removes the comma after \"generous\" (\"generous,\" \u2192 \"generous\"). Although the prediction includes less surrounding context (it omits \"Mr.\"), it captures the core intended punctuation change: deleting the comma after \"generous.\""
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as",
            "corrected_text": "as indeed",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"as she did\" to \"as indeed she did,\" which is essentially the insertion of the word \"indeed\" immediately after \"as.\" The predicted edit changes \"as\" to \"as indeed,\" which captures that same core insertion, even though it provides less surrounding context (it does not include \"she did\"). Since the essential intended change\u2014adding \"indeed\" after \"as\"\u2014is correctly represented, the prediction matches the ground truth\u2019s intent."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length",
            "corrected_text": "length,",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"length\" in the phrase \"length said\" \u2192 \"length, said\". The predicted edit \"length\" \u2192 \"length,\" captures the same core intention: adding a comma immediately after \"length\". Although it omits the following word \"said\" from the original/corrected text span, it still represents the essential punctuation insertion at the correct location.\n\nBecause both the type and the core textual change align with the ground truth\u2019s intention, the prediction is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"I hope so\" to \"I hoped so\", i.e., the essential correction is changing the verb form \"hope\" \u2192 \"hoped\". The predicted edit replaces \"hope\" with \"hoped\", which captures the core intended change even though it provides less surrounding context (omits \"I\" and \"so\"). This still matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:53.335446",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:21:05.837538",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart",
            "corrected_text": "heart,",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"heart\" in the phrase \"heart so\" \u2192 \"heart, so\". The predicted edit \"heart\" \u2192 \"heart,\" captures the same core change (adding a comma immediately after \"heart\"). The prediction omits the following word \"so\", but that is just reduced context and does not change the essential punctuation correction.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous,",
            "corrected_text": "generous",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is removing the comma after \"generous\" in the phrase \"generous, Mr.\" \u2192 \"generous Mr.\". The prediction captures this same core punctuation change by converting \"generous,\" \u2192 \"generous\". Although the prediction omits the following context (\"Mr.\"), it still represents the essential intended correction: deleting the comma after \"generous\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as",
            "corrected_text": "as indeed",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches.\n\n2. Text Content Accuracy: The ground truth change is to insert the word \"indeed\" into the phrase \"as she did,\" yielding \"as indeed she did.\" The predicted edit captures the same core modification by changing \"as\" to \"as indeed,\" which effectively represents inserting \"indeed\" immediately after \"as.\" Although the prediction provides less surrounding context (it omits \"she did\"), it still captures the essential intended change (the insertion of \"indeed\" in that location)."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length",
            "corrected_text": "length,",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: The ground truth change is inserting a comma after the word \"length\" in the phrase \"length said\" to make it \"length, said.\" The prediction captures this same core change by editing \"length\" to \"length,\" (adding the comma in the correct location). Although it includes less surrounding context (it does not include \"said\"), it still reflects the essential intended punctuation correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"I hope so\" to \"I hoped so\", which is fundamentally the tense change of \"hope\" \u2192 \"hoped\" within that phrase. The predicted edit captures exactly this core change (\"hope\" \u2192 \"hoped\"), just with less surrounding context. This still reflects the same intended correction."
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:57.526065",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:23:19.186886",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart",
            "corrected_text": "heart,",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma immediately after the word \"heart\" in the phrase \"heart so\" \u2192 \"heart, so\". The predicted edit \"heart\" \u2192 \"heart,\" captures the same core punctuation change (adding a comma after \"heart\"). Although it includes less surrounding context (it omits the following word \"so\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous,",
            "corrected_text": "generous",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is removing the comma after \"generous\" in the phrase \"generous, Mr.\" to make it \"generous Mr.\" The predicted edit removes the comma after \"generous\" (\"generous,\" \u2192 \"generous\"). Although it does not include the following \"Mr.\", it captures the core intended punctuation change (deleting the comma after \"generous\"). Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as",
            "corrected_text": "as indeed",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"as she did\" to \"as indeed she did,\" i.e., it inserts the word \"indeed\" immediately after \"as.\" The predicted edit changes \"as\" to \"as indeed,\" which captures the same core insertion (adding \"indeed\" after \"as\"). Although the prediction includes a smaller text span and omits the surrounding context (\"she did\"), it still represents the essential intended change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length",
            "corrected_text": "length,",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"length\" (changing \"length said\" to \"length, said\"). The prediction changes \"length\" to \"length,\", which captures the same core punctuation insertion at the correct location. Although it includes less surrounding context (omits \"said\"), it still represents the essential intended edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"I hope so\" to \"I hoped so,\" which core-wise is the verb tense change \"hope\" \u2192 \"hoped.\" The prediction replaces \"hope\" with \"hoped\" without the surrounding words, but it captures the essential intended correction. Additional context is not required as long as the core change is correct."
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:56.681631",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:18:21.414344",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and.\" The prediction captures the same core punctuation insertion by changing \"hers\" \u2192 \"hers,\" (even though it omits the following word \"and\"). This still reflects the essential intended edit: adding a comma immediately after \"hers.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers matters\" \u2192 \"hers, matters.\" The predicted edit \"hers\" \u2192 \"hers,\" captures the same essential punctuation insertion (comma after \"hers\"). The omission of the following word \"matters\" is acceptable because it is additional context, not part of the core change.\n\nTherefore, the prediction correctly captures the ground truth\u2019s intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"moment\" in the phrase \"moment with\" \u2192 \"moment, with.\" The predicted edit \"moment\" \u2192 \"moment,\" captures the same core change (adding a comma immediately after \"moment\"). Although it includes less surrounding context, it correctly reflects the intended punctuation insertion."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that.\" The predicted edit \"beautiful\" \u2192 \"beautiful,\" captures the same essential punctuation insertion (a comma immediately after \"beautiful\"). Although it includes less surrounding context (omits \"that\"), it still reflects the core intended edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same original text (\"they\") and the same correction (\"They\"), capturing the identical core change (capitalizing the initial letter). No discrepancy in the intended modification."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:00.448282",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:20:43.239405",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and.\" The prediction captures the same core punctuation change by editing \"hers\" \u2192 \"hers,\" even though it omits the following \"and\" from the snippet. Since the essential intended correction (adding the comma after \"hers\") is correctly represented, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates inserting a comma after \"hers\" in the phrase \"hers matters\" \u2192 \"hers, matters.\" The prediction captures the same core punctuation change by editing \"hers\" \u2192 \"hers,\". Although it omits the following word \"matters,\" it still represents the essential intended edit (adding a comma after \"hers\")."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after the word \"moment\" (\"moment with\" \u2192 \"moment, with\"). The prediction also inserts a comma after \"moment\" (\"moment\" \u2192 \"moment,\"). Although the prediction uses a smaller text span and does not include the following word \"with\", it captures the core intended punctuation change\u2014adding the comma after \"moment\". Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that\". The predicted edit \"beautiful\" \u2192 \"beautiful,\" captures the same core punctuation change (adding a comma immediately after \"beautiful\"). The omission of the following word \"that\" is acceptable because it is just surrounding context; the essential intended edit (comma insertion after \"beautiful\") is correctly represented."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"they\" \u2192 \"They\". There is no difference in original or corrected text, so the essential intended edit is captured correctly."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:03.832665",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:23:00.422336",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \u201chers\u201d in the phrase \u201chers and\u201d \u2192 \u201chers, and\u201d. The prediction captures the same core punctuation change by editing \u201chers\u201d \u2192 \u201chers,\u201d. Although it omits the following word \u201cand\u201d from the span, it still reflects the essential intended correction (adding the comma after \u201chers\u201d)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma immediately after the word \"hers\" in the phrase \"hers matters\" \u2192 \"hers, matters\". The predicted edit \"hers\" \u2192 \"hers,\" captures this same core punctuation change (adding a comma after \"hers\"). Although it omits the following word \"matters\" from the original/corrected text span, it still reflects the essential intended correction (comma insertion after \"hers\")."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"moment\" in the phrase \"moment with\" \u2192 \"moment, with\". The predicted edit \"moment\" \u2192 \"moment,\" captures the same core punctuation change (adding the comma after \"moment\"). Although the prediction includes less surrounding context (it does not include \"with\"), the essential intended correction is accurately represented."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that.\" The predicted edit \"beautiful\" \u2192 \"beautiful,\" captures the same core punctuation change (adding a comma immediately after \"beautiful\"). Although it includes less surrounding context (omits \"that\"), it correctly reflects the essential intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"they\" to \"They\", capturing the identical core capitalization change. No discrepancy in original or corrected text."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:00.354492",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:18:33.485941",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that,",
            "corrected_text": "that",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches.\n\n2) Text Content Accuracy: The ground truth change is removing the comma after \"that\" in the phrase \"that, in\" \u2192 \"that in\". The prediction removes the comma after \"that\" as well (\"that,\" \u2192 \"that\"). Although it omits the following word \"in\" as context, it still captures the core intended correction: deletion of the comma after \"that\". Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy,",
            "corrected_text": "fancy",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change removes the comma after \u201cfancy\u201d in the phrase \u201cfancy, whatever,\u201d yielding \u201cfancy whatever.\u201d The prediction specifies \u201cfancy,\u201d \u2192 \u201cfancy,\u201d which captures the same core action: deleting the comma after \u201cfancy.\u201d Although the prediction includes less surrounding context (it omits \u201cwhatever\u201d), it still correctly represents the essential punctuation correction intended by the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you!",
            "corrected_text": "you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation point to a comma in the phrase \"Thank you!\" \u2192 \"Thank you,\". The prediction captures the same core change (\"!\" \u2192 \",\") but with less surrounding context, editing \"you!\" \u2192 \"you,\". This still reflects the essential intended correction to replace the exclamation point with a comma at the end of the phrase."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"shore\" (turning \"shore and\" into \"shore, and\"). The predicted edit changes \"shore\" to \"shore,\", which captures the same essential punctuation insertion at the correct location. Although the prediction includes less surrounding context (it omits \"and\"), it still represents the core change accurately."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both change the original text \"that\" to the corrected text \"than\". This captures the identical core correction with no discrepancy.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:25:58.853909",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:20:49.536260",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that,",
            "corrected_text": "that",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth removes a comma after \"that\" in the sequence \"that, in\" \u2192 \"that in.\" The predicted edit \"that,\" \u2192 \"that\" captures the same core action: deleting the comma after \"that.\" Although the prediction omits the following word \"in\" (less surrounding context), it still reflects the essential intended punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy,",
            "corrected_text": "fancy",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" (removing a comma). The predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"fancy, whatever\" to \"fancy whatever\", whose core action is deleting the comma after \"fancy\". The prediction changes \"fancy,\" to \"fancy\", which captures that same essential punctuation removal, just with less surrounding context (it omits \"whatever\"). Since the core intended change (removing the comma after \"fancy\") is correctly represented, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core punctuation change, converting \"Thank you!\" to \"Thank you,\". There is no discrepancy in original or corrected text. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after \"shore\" in the phrase \"shore and\" \u2192 \"shore, and\". The prediction \"shore\" \u2192 \"shore,\" captures the same core change (adding a comma immediately after \"shore\"). Although it omits the following word \"and\" from the context, the essential punctuation insertion is correctly represented."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". The core intended change is identical with no deviation. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:10.345400",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:23:03.515639",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that,",
            "corrected_text": "that",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change removes the comma after \"that\" in the phrase \"that, in\" \u2192 \"that in\". The prediction removes the comma after \"that\" as well: \"that,\" \u2192 \"that\". Although the prediction omits the following word \"in\" as context, it still captures the core intended correction (deleting the comma after \"that\"). Under the rubric, missing or extra surrounding context is acceptable as long as the essential change is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy,",
            "corrected_text": "fancy",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth removes the comma after \"fancy\" in the phrase \"fancy, whatever\" to make it \"fancy whatever.\" The prediction removes the comma from \"fancy,\" to \"fancy.\" Although the prediction includes less surrounding context (it omits \"whatever\"), it captures the core intended change: deleting the comma after \"fancy.\" Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you!",
            "corrected_text": "you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation point to a comma in \"Thank you!\" \u2192 \"Thank you,\". The predicted edit captures the same core change by changing \"you!\" \u2192 \"you,\". Although it includes less surrounding context (omits \"Thank\"), it correctly represents the essential punctuation replacement at the end of the phrase.\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"shore and\" to \"shore, and,\" which is specifically the insertion of a comma after \"shore\". The predicted edit changes \"shore\" to \"shore,\", also inserting a comma after \"shore\". Although the prediction includes less surrounding context (it doesn\u2019t include \"and\"), it captures the same core intended punctuation change (adding the comma after \"shore\")."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". The core intended change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:31.021334",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:19:13.835109",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XXIX",
            "corrected_text": "XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth adds a period to the end of the chapter heading (\"Chapter XXIX\" \u2192 \"Chapter XXIX.\"). The prediction adds the same period to the end of the numeral portion (\"XXIX\" \u2192 \"XXIX.\"). Although the prediction omits the preceding word \"Chapter\" from the span of text it quotes, it captures the core intended change: inserting a final period after \"XXIX\" in the heading. Additional context is not required as long as the essential punctuation change is represented correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"city\" to \"City\", capturing the identical core correction (capitalizing the initial letter). Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both indicate the same substitution, changing \"of\" to \"to\". Since the core change is identical, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing the comma after \"them\" (\"them,\") with a semicolon (\"them;\"). The original_text and corrected_text align perfectly with the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same change from \"existence\" to \"existence,\", correctly capturing the core intended punctuation insertion (adding a comma). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"it,\") and the same corrected text (\"it;\"), capturing the identical core change of replacing a comma with a semicolon after \"it\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"stand-still,\") and the same correction (\"stand-still;\"), capturing the identical core change of replacing a comma with a semicolon. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change, adding a comma after \"view\" (\"view\" \u2192 \"view,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\nText Content Accuracy: Both specify the same core punctuation change from \"existence,\" to \"existence;\". The original_text and corrected_text align perfectly with the ground truth intention.\n\nTherefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:38.364311",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:21:17.192236",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XXIX",
            "corrected_text": "XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period at the end of the chapter heading: \"Chapter XXIX\" \u2192 \"Chapter XXIX.\". The prediction captures the same core punctuation change by adding a period after the roman numeral: \"XXIX\" \u2192 \"XXIX.\". Although it includes less surrounding context (omits the word \"Chapter\"), it still represents the essential intended correction\u2014adding the terminal period after XXIX in the heading."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit have type \"capitalization\", so the type matches exactly. Text Content Accuracy: Both specify changing \"city\" to \"City\", which captures the identical core correction (capitalizing the first letter). Therefore, the prediction matches the ground truth\u2019s intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both identify the same original text (\"of\") being replaced with the same corrected text (\"to\"). This captures the core intended change with no discrepancy.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change: replacing \"them,\" with \"them;\". The original_text and corrected_text are identical between ground truth and prediction, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the identical transformation from \"existence\" to \"existence,\" (adding a trailing comma). The core intended edit is captured with no discrepancy."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"motionless\" (\"motionless\" \u2192 \"motionless,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"view\" to \"view,\" (adding a comma). The core punctuation modification is identical. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:41.580966",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:23:10.265649",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XXIX",
            "corrected_text": "XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"Chapter XXIX\" to \"Chapter XXIX.\"\u2014i.e., it adds a period at the end of the chapter heading. The predicted edit changes \"XXIX\" to \"XXIX.\", which captures the same core punctuation change (adding a terminal period after the Roman numeral). The prediction simply uses a narrower span of the original text (omits the preceding word \"Chapter\"), but it still reflects the intended correction at the correct location (end of the heading)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"city\" to \"City\", capturing the identical core change (capitalizing the initial letter). No discrepancies or missing/extra content affect the essential edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\nText Content Accuracy: The ground truth replaces the word \"of\" with \"to\". The prediction specifies the same original text (\"of\") and the same corrected text (\"to\"). This captures the core intended change with no discrepancy.\n\nTherefore, both criteria are satisfied."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing \"them,\" with \"them;\". There is no discrepancy in original or corrected text. Therefore, the prediction captures the ground truth edit intention \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, adding a comma after \"existence\" (\"existence\" \u2192 \"existence,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"motionless\" to \"motionless,\" by adding a comma immediately after the word. The core punctuation change is identical.\nTherefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth. Text Content Accuracy: Both ground truth and prediction change \"view\" to \"view,\" by adding a comma immediately after the word. The core intended change is captured exactly. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after the word from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction also results in \"existence;\" as the corrected text. Although the predicted original_text omits the comma (\"existence\" instead of \"existence,\"), it still captures the core intended change: the punctuation following \"existence\" should be a semicolon in the corrected version. Therefore, the essential edit intent is correctly represented."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:38.494156",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:19:27.012638",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change: replacing the colon in \"Clennam:\" with a semicolon to form \"Clennam;\". The original and corrected text match the ground truth intention exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly. Text Content Accuracy: Both specify the same target text (\"him\") with the intention to italicize it; there is no discrepancy in original/corrected text content. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"now\" in the phrase \"now I\" \u2192 \"now, I\". The prediction captures the same core punctuation insertion by changing \"now\" \u2192 \"now,\". Although it omits the following word \"I\" in the span, it correctly represents the essential intended edit (adding a comma after \"now\")."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the same original text \"authorize\" with the same corrected text \"authorise\". The core change (American to British spelling) is identical. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that\u2014",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:43.787920",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:21:52.344416",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: The predicted change matches the ground truth core correction, changing \"Clennam:\" to \"Clennam;\" with identical original and corrected text. Therefore, it captures the intended punctuation change exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\nText Content Accuracy: Both identify the same target text \"him\" with no change in wording (only formatting), which correctly captures the intended italicization of the word. Therefore, the prediction matches the ground truth's core change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \"now\" in the phrase \"now I\" (\"now I\" \u2192 \"now, I\"). The predicted edit (\"now\" \u2192 \"now,\") captures the same essential punctuation change\u2014adding a comma immediately after \"now.\" The prediction simply provides less surrounding context (it omits the following \"I\"), which is acceptable since the core intended change is still correctly represented."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are of type \"replacement\", so the edit type matches exactly.\nText Content Accuracy: Both specify replacing \"authorize\" with \"authorise\". The core change (American spelling to British spelling) is identical. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that\u2014boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:40.154289",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:24:11.486431",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"Clennam:\" to \"Clennam;\"\u2014the same core punctuation substitution (colon to semicolon) on the same text. Therefore, the prediction captures the intended correction exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same target text \"him\" with no change in wording (only formatting via italics). The prediction captures the same core intended change as the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"now\" in the phrase \"now I\" \u2192 \"now, I.\" The prediction changes \"now\" \u2192 \"now,\", which captures the same essential punctuation change (adding a comma immediately after \"now\"). Although it omits the following word \"I\" as context, it still reflects the core intended edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both replace the same original text \"authorize\" with the same corrected text \"authorise\", capturing the identical core change (American to British spelling). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that\u2014",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:32.333051",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:19:40.422957",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction captures the same core change by editing \"For\" \u2192 \"For,\". Although it omits the following words (\"Mr. Pancks\"), it still correctly represents the essential punctuation insertion at the correct location."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after the word \"quickly\" in the phrase \"quickly that\" \u2192 \"quickly, that.\" The predicted edit \"quickly\" \u2192 \"quickly,\" captures the same core punctuation insertion (adding a comma immediately after \"quickly\"). Although it includes less surrounding context (it omits \"that\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me",
            "corrected_text": "me a",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:37.087658",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:21:43.165749",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2. Text Content Accuracy: The ground truth inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The predicted edit captures the same core change by changing \"For\" \u2192 \"For,\". Although it omits the surrounding words (\"Mr. Pancks\"), it correctly represents the essential punctuation insertion identified in the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma after \"quickly\" in the phrase \"quickly that\" \u2192 \"quickly, that\". The prediction specifies \"quickly\" \u2192 \"quickly,\", which captures the same core punctuation change (adding a comma immediately after \"quickly\"). The prediction omits the following word \"that\", but additional context is optional as long as the essential edit is correct, which it is here."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me",
            "corrected_text": "me a",
            "observed_line_number": 21,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates inserting the word \"a\" after \"me\" (changing \"me,\" to \"me a,\"). The prediction also captures the same core insertion (\"me\" \u2192 \"me a\"). Although the prediction omits the comma shown in the ground truth, it still reflects the essential intended change\u2014adding \"a\" after \"me\"\u2014and does not contradict that intent. Therefore, the text content matches the ground truth\u2019s core edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_openai_gpt_6_astra",
        "date": "2026-09-06T04:26:37.082721",
        "annotator": "GPT-6 Astra (OR)",
        "annotation_date": "2026-09-06T04:24:01.606436",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after the word \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction captures this core change by editing \"For\" \u2192 \"For,\". Although it omits the surrounding words (\"Mr. Pancks\"), it still correctly represents the essential punctuation insertion at the correct location (immediately after \"For\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"quickly\" in the phrase \"quickly that\" \u2192 \"quickly, that.\" The predicted edit \"quickly\" \u2192 \"quickly,\" captures the same essential punctuation change (adding a comma immediately after \"quickly\"). The prediction uses a shorter text span but correctly represents the core intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me",
            "corrected_text": "me a",
            "observed_line_number": 21,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as an \"insertion,\" so the type matches.\n\n2) Text Content Accuracy: The ground truth change is essentially inserting the word \"a\" after \"me\" (turning \"me,\" into \"me a,\"). The prediction also captures this core change by transforming \"me\" into \"me a.\" The missing comma in the predicted original/corrected text appears to be a difference in how much surrounding punctuation/context was included, not a failure to capture the intended insertion (the comma is not being added or removed in the ground truth; it remains). Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2026-09-03",
    "release_source": "https://developers.openai.com/api/docs/models/gpt-6-astra",
    "release_notes": "OpenAI's GPT-6 flagship model. Benchmark configuration uses high reasoning effort."
  },
  {
    "model_name": "GPT-o4 Mini",
    "model_id": "gpt_o4_mini",
    "date": "2026-02-22T15:37:22.828009",
    "shots": 2,
    "config": {
      "model_id": "gpt_o4_mini",
      "display_name": "GPT-o4 Mini",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-16",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "GPT-o4 Mini",
    "annotation_date": "2025-04-16T21:17:55.466078",
    "file_results": [
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:35:01.956623",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:17:55.466078",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change (inserting a comma after \"howling\"). Ignoring line numbers, the prediction fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change: inserting a comma after \"yonder\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ".",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:34:58.204701",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:46:15.341359",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both apply the same core change: adding a period after \"Fellow Travellers\" (\"Fellow Travellers\" \u2192 \"Fellow Travellers.\"). The original and corrected texts match the ground truth\u2019s intended punctuation change."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:35:06.970153",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:05:28.906511",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. This captures the same core punctuation correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir,is",
            "corrected_text": "sir, is",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling,over",
            "corrected_text": "howling, over",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to\u2011day,sir",
            "corrected_text": "to\u2011day, sir",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:34:54.090136",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:19:02.434061",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ",",
            "corrected_text": "?",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:35:02.598942",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:47:27.727639",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "that",
            "corrected_text": "That",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:35:13.351791",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:06:58.286078",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "No sir,",
            "corrected_text": "No, sir,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "She had no belief",
            "corrected_text": "she had no belief",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:35:20.317052",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:20:28.947834",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the edit type matches exactly. Text Content Accuracy: Both replace the same original text \"said Clennam\" with the same corrected text \"asked Clennam\". The core change is identical, with no discrepancies in wording or scope. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "? If",
            "corrected_text": ", if",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:35:31.614505",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:48:42.552220",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same core change by capitalizing \"if\" \u2192 \"If\". Although the prediction includes less surrounding context (it does not include \"he\"), it still represents the essential intended correction: capitalizing \"if\" at the start of the phrase/sentence. Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the phrase \"said Clennam\" to \"asked Clennam\", where the essential correction is replacing \"said\" with \"asked\". The predicted edit replaces \"said\" with \"asked\" without including the following word \"Clennam\". This omission is acceptable because it still captures the core intended change (said \u2192 asked) identified in the ground truth."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:35:40.023462",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:08:12.573030",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 37,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the word \"if\" at the start of the phrase \"if he\" \u2192 \"If he\". The prediction captures the same core change by capitalizing \"if\" \u2192 \"If\". Although it provides less surrounding context (omitting \"he\"), it still reflects the essential intended correction: capitalizing \"if\". Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sad",
            "corrected_text": "asked",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:35:34.926865",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:21:43.997744",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change (inserting a comma after \"materials\").\nLine number differences are ignored as instructed, so the prediction correctly matches the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and came",
            "corrected_text": "about, and came",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "road",
            "corrected_text": "high\u2011road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:35:47.824415",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:50:09.186715",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high\u2011road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is to hyphenate \"high road\" \u2192 \"high-road.\" The prediction changes \"high road\" \u2192 \"high\u2011road\" using a non-breaking hyphen (U+2011) instead of a standard hyphen-minus (-). Despite the different hyphen character, the core intended edit\u2014adding a hyphen between \"high\" and \"road\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation: inserting a comma after \"materials\" in the phrase \"materials costing\" to produce \"materials, costing\". The core change is identical, with no discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both specify the same core punctuation change, inserting a comma after \"about\" (\"about and\" \u2192 \"about, and\"). There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said 'Clennam",
            "corrected_text": "said, 'Clennam",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to add a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The predicted edit also inserts a comma immediately after \"said\" (\"said 'Clennam\" \u2192 \"said, 'Clennam\"). Although the prediction includes additional surrounding context (the following quoted name), the core punctuation change is the same and correctly captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:35:53.969105",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:09:28.352933",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"materials\" in the phrase \"materials costing\" \u2192 \"materials, costing.\" The predicted edit \"materials\" \u2192 \"materials,\" captures the same core change (adding a comma immediately after \"materials\"). Although it omits the following word \"costing,\" it still represents the essential intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"about and\" to \"about, and,\" inserting a comma after \"about.\" The core intended punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". The original and corrected text match the core intended change precisely. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \u201csaid\u201d in the phrase \u201csaid when\u201d \u2192 \u201csaid, when.\u201d The predicted edit \u201csaid\u201d \u2192 \u201csaid,\u201d captures the same essential punctuation insertion at the same location (after \u201csaid\u201d). Although it includes less surrounding context (it omits \u201cwhen\u201d), it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\" by inserting a comma after \"Clennam\". The original and corrected texts match the ground truth core change exactly, with no deviation in content."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high\u2011road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:35:51.290448",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:22:58.232796",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I,",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:02.825642",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:51:18.679677",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": ".",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": ",",
            "corrected_text": ".",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:05.607788",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:10:31.628797",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": ".",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ".",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:17.259917",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:24:17.324875",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sodden",
            "corrected_text": "sodden",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ",",
            "corrected_text": "",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:22.349893",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:52:44.348842",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar\u2011trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons,was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "soddenwith",
            "corrected_text": "sodden with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:18.568438",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:11:51.893866",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: Both edits replace the same original text \"Saone\" with the same corrected text \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core intended change is identical.\n\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter\u00a0XI",
            "corrected_text": "Chapter\u00a0XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar\u2010trees",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:14.964643",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:25:42.782516",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:16.137909",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:54:27.079886",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "confidentially",
            "corrected_text": "indeed",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so;",
            "corrected_text": "so,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:23.314426",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:13:18.727999",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": ",",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "That's well! I hoped so; I am not disappointed.",
            "corrected_text": "I hoped so",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:34.979061",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:26:59.925449",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and thanked",
            "corrected_text": "hers, and thanked",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and\". The prediction expands the span to include an extra following word (\"thanked\"), but it still performs the same core punctuation change: \"hers and thanked\" \u2192 \"hers, and thanked\". This correctly captures the intended edit, with permissible additional context."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"hers\"\u2014with identical original_text (\"hers matters\") and corrected_text (\"hers, matters\"). The essential punctuation correction is captured exactly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change the same phrase from \"moment with\" to \"moment, with\" by inserting a comma after \"moment\". This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 31,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth changes \"they\" to \"They\". The prediction specifies the same original text (\"they\") and the same corrected text (\"They\"), capturing the identical core capitalization change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:29.008649",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:55:51.861346",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:42.701514",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:14:44.023082",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both edits change \"hers and\" to \"hers, and\" by inserting a comma after \"hers\". The core punctuation change is identical in the prediction and the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"hers\" in the phrase \"hers matters\" to become \"hers, matters\". The original and corrected text strings match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the types match exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change: insertion of a comma after \"moment\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. Text Content Accuracy: Both specify changing the lowercase word \"they\" to the capitalized form \"They\". This captures the core intended correction with identical original and corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:49.990052",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:28:09.726331",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy",
            "corrected_text": "fancy,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:43.600493",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:57:10.386002",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in",
            "corrected_text": "",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy",
            "corrected_text": "fancy,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:45.859047",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:15:58.044025",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you?",
            "corrected_text": "Thank you,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:53.098314",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:29:22.027822",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change from \"city\" to \"City\". There are no differences in the original or corrected text, so the prediction fully captures the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:37:03.718928",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:58:28.717548",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"capitalization\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City\". This captures the essential intended correction. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ",",
            "corrected_text": "",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": ",",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Is",
            "corrected_text": "is",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ".",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ".",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": " ",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:36:57.784659",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:17:50.716306",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n2) Text Content Accuracy: Both edits change the same word from \"city\" to \"City,\" capturing the identical core correction (capitalizing the initial letter). Since line numbers are to be ignored, there is no discrepancy affecting the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs.\u00a0Flintwinch goes on Dreaming",
            "corrected_text": "Mrs.\u00a0Flintwinch goes on Dreaming.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "busy\u00a0existence,",
            "corrected_text": "busy\u00a0existence;",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand\u2011still,",
            "corrected_text": "stand\u2011still;",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liegelord",
            "corrected_text": "liege\u00a0lord",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "reluctant return",
            "corrected_text": "to reluctant return",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:37:14.275666",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:30:46.623786",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" \u2192 \"driest\" and inserts \"of\" to yield \"driest of snorts\" (within the larger phrase \"of the ... snorts.\"). The predicted edit also replaces \"dryest snorts\" with \"driest of snorts\", capturing the same core intent (spelling correction plus insertion of \"of\"). The prediction uses a narrower text span and omits surrounding context (\"of the\" and the period), but it does not alter the essential correction. Therefore, the predicted edit matches the ground truth\u2019s intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction apply the italicization to the same word, \"him\" (original_text and corrected_text are identical in both). This captures the core intended change (formatting the word in italics) with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the exact same original text \"authorize\" with the same corrected text \"authorise\", capturing the intended spelling change. Line number differences are to be ignored, so this does not affect correctness."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:37:09.083365",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:59:56.942048",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him than out of a ninepin",
            "corrected_text": "<i>benevolence bubbling out of him than out of a ninepin</i>",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:37:13.992278",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:19:31.091801",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorixe",
            "corrected_text": "authorise",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:37:09.064052",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T21:31:57.310964",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": ",that",
            "corrected_text": ", that",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:37:13.981562",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:01:25.225008",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "gpt_o4_mini",
        "date": "2026-02-22T15:37:22.828009",
        "annotator": "GPT-o4 Mini",
        "annotation_date": "2025-04-16T22:20:42.029200",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "quicklythat",
            "corrected_text": "quickly that",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "-",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "OpenAI",
    "release_date": "2025-04-16",
    "release_source": "https://openai.com/index/introducing-o3-and-o4-mini/"
  },
  {
    "model_name": "Gemini 2.5 Pro Preview 3/25",
    "model_id": "or_gemini_2_5_pro_preview_03_25",
    "date": "2026-02-22T15:45:43.383451",
    "shots": 2,
    "config": {
      "model_id": "or_gemini_2_5_pro_preview_03_25",
      "display_name": "Gemini 2.5 Pro Preview 3/25",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Gemini 2.5 Pro Preview 3/25",
    "annotation_date": "2025-04-07T20:59:06.337294",
    "file_results": [
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:04.728847",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-07T20:59:06.337294",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and in",
            "corrected_text": "and, in",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:14.181355",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T00:33:26.844133",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "crash.",
            "corrected_text": "crash,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "horse rattled",
            "corrected_text": "horse, rattled",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cafe",
            "corrected_text": "caf\u00e9",
            "observed_line_number": 56,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:15.232823",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T10:11:42.108101",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 51,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 52,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 53,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 54,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 55,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 56,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 57,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 58,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 59,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 60,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 61,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 62,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 63,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 64,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 65,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 66,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 67,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 68,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 69,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 70,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 71,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 72,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 73,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 74,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 75,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 76,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 77,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 78,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 79,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 80,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 81,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 82,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 83,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 84,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 85,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 86,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 87,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 88,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 89,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 90,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 91,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 92,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 93,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 94,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 95,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 96,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 97,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 98,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 99,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 100,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 101,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 102,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 103,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 104,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 105,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 106,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 107,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 108,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 109,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 110,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 111,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 112,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 113,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 114,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 115,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 116,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 117,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 118,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 119,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 120,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 121,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 122,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 123,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 124,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 125,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 126,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 127,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 128,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 129,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 130,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 131,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 132,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 133,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 134,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 135,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 136,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 137,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 138,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 139,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 140,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 141,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 142,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 143,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 144,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 145,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 146,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 147,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 148,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 149,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 150,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 151,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 152,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 153,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 154,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 155,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 156,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 157,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 158,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 159,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 160,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 161,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 162,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 163,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 164,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 165,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 166,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 167,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 168,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 169,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 170,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 171,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 172,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 173,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 174,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 175,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 176,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 177,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 178,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 179,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 180,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 181,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 182,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 183,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 184,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 185,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 186,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 187,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 188,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 189,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 190,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 191,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 192,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 193,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 194,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 195,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 196,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 197,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 198,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 199,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 200,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 201,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 202,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 203,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 204,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 205,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 206,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 207,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 208,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 209,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 210,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 211,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 212,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 213,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 214,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 215,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 216,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 217,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 218,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 219,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 220,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 221,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 222,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 223,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 224,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 225,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 226,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 227,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 228,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 229,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 230,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 231,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 232,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 233,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 234,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 235,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 236,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 237,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 238,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 239,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 240,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 241,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 242,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 243,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 244,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 245,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 246,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 247,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 248,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 249,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 250,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 251,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 252,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 253,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 254,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 255,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 256,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 257,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 258,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 259,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 260,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 261,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 262,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 263,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 264,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 265,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 266,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 267,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 268,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 269,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 270,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 271,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 272,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 273,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 274,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 275,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 276,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 277,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 278,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "August",
            "corrected_text": "August",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 279,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 280,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838",
            "corrected_text": "1838,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 281,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "1838,",
            "corrected_text": "1838.",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:18.235783",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-07T21:01:05.084407",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hot",
            "corrected_text": "hot,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dusty",
            "corrected_text": "dusty,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinds",
            "corrected_text": "blinds,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "awnings",
            "corrected_text": "awnings,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fountains",
            "corrected_text": "fountains,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noon",
            "corrected_text": "noon,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 51,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 52,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 53,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 54,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 55,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 56,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 57,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 58,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 59,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 60,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 61,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 62,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 63,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 64,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 65,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 66,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 67,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 68,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 69,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 70,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 71,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 72,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 73,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 74,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 75,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 76,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 77,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 78,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 79,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 80,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 81,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 82,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 83,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 84,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 85,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 86,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 87,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 88,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 89,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 90,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 91,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 92,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 93,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 94,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 95,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 96,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:18.790705",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T10:14:47.807974",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Genoa Genoa",
            "corrected_text": "Genoa, Genoa",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Genoa the Superb",
            "corrected_text": "Genoa the Superb,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "with",
            "corrected_text": "With",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "palaces",
            "corrected_text": "palaces,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "churches",
            "corrected_text": "churches,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dirty",
            "corrected_text": "dirty,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "narrow",
            "corrected_text": "narrow,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "crooked",
            "corrected_text": "crooked,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "up hill and down",
            "corrected_text": "up hill and down,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "houses",
            "corrected_text": "houses,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high",
            "corrected_text": "high,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "massy",
            "corrected_text": "massy,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gloomy",
            "corrected_text": "gloomy,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "close together",
            "corrected_text": "close together.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Genoa",
            "corrected_text": "Genoa,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "where",
            "corrected_text": "Where",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "palaces",
            "corrected_text": "palaces,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "marble",
            "corrected_text": "marble,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terraces",
            "corrected_text": "terraces,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "balconies",
            "corrected_text": "balconies,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "colonnades",
            "corrected_text": "colonnades,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "statues",
            "corrected_text": "statues,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pictures",
            "corrected_text": "pictures,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gardens",
            "corrected_text": "gardens,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rich and beautiful",
            "corrected_text": "rich and beautiful,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "are",
            "corrected_text": "are,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "alleys",
            "corrected_text": "alleys,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "courts",
            "corrected_text": "courts,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "corners",
            "corrected_text": "corners,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dirt",
            "corrected_text": "dirt,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "filth",
            "corrected_text": "filth,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "neglect",
            "corrected_text": "neglect,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beggary",
            "corrected_text": "beggary,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "everywhere",
            "corrected_text": "everywhere.",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Genoa",
            "corrected_text": "Genoa,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "where",
            "corrected_text": "Where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "churches",
            "corrected_text": "churches,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blaze",
            "corrected_text": "blaze,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gold",
            "corrected_text": "gold,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "silver",
            "corrected_text": "silver,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "precious marbles",
            "corrected_text": "precious marbles;",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pictures",
            "corrected_text": "pictures,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "statues",
            "corrected_text": "statues,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "frescoes",
            "corrected_text": "frescoes,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rich",
            "corrected_text": "rich,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gorgeous",
            "corrected_text": "gorgeous,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "costly",
            "corrected_text": "costly,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "are",
            "corrected_text": "are,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "priests",
            "corrected_text": "priests,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 51,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "monks",
            "corrected_text": "monks,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 52,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "nuns",
            "corrected_text": "nuns,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 53,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dirty",
            "corrected_text": "dirty,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 54,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shabby",
            "corrected_text": "shabby,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 55,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "slovenly",
            "corrected_text": "slovenly,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 56,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ignorant",
            "corrected_text": "ignorant,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 57,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ill-favoured",
            "corrected_text": "ill-favoured,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 58,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "unwashed",
            "corrected_text": "unwashed.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 59,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Genoa",
            "corrected_text": "Genoa,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 60,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "where",
            "corrected_text": "Where",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 61,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shops",
            "corrected_text": "shops,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 62,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "brilliant",
            "corrected_text": "brilliant,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 63,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "jewellery",
            "corrected_text": "jewellery,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 64,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "filagree-work",
            "corrected_text": "filagree-work,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 65,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "delicate",
            "corrected_text": "delicate,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 66,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fantastic",
            "corrected_text": "fantastic,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 67,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "exquisite",
            "corrected_text": "exquisite,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 68,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "are",
            "corrected_text": "are,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 69,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 70,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lanes",
            "corrected_text": "lanes,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 71,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "alleys",
            "corrected_text": "alleys,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 72,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "foul",
            "corrected_text": "foul,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 73,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stagnant",
            "corrected_text": "stagnant,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 74,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "offensive",
            "corrected_text": "offensive,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 75,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pestilential",
            "corrected_text": "pestilential.",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 76,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Genoa",
            "corrected_text": "Genoa,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 77,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "where",
            "corrected_text": "Where",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 78,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lovely",
            "corrected_text": "lovely,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 79,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "graceful",
            "corrected_text": "graceful,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 80,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "picturesque",
            "corrected_text": "picturesque,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 81,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "veil",
            "corrected_text": "veil,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 82,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "worn",
            "corrected_text": "worn,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 83,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "are",
            "corrected_text": "are,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 84,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women",
            "corrected_text": "women,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 85,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ugly",
            "corrected_text": "ugly,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 86,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "brown",
            "corrected_text": "brown,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 87,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "coarse",
            "corrected_text": "coarse,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 88,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "when they are young",
            "corrected_text": "when they are young,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 89,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "when they are old",
            "corrected_text": "when they are old,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:21.429727",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-07T21:02:22.104335",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thirty five",
            "corrected_text": "thirty-five",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blazing",
            "corrected_text": "blazing,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinds",
            "corrected_text": "blinds,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "awnings",
            "corrected_text": "awnings,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fountains",
            "corrected_text": "fountains,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water",
            "corrected_text": "water,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dirt",
            "corrected_text": "dirt,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "decay",
            "corrected_text": "decay,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noon",
            "corrected_text": "noon,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prisoners",
            "corrected_text": "prisoners,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "jailers",
            "corrected_text": "jailers,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flies",
            "corrected_text": "flies,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "soup basins",
            "corrected_text": "soup-basins",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "soup-basins",
            "corrected_text": "soup-basins,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "together",
            "corrected_text": "together,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noon",
            "corrected_text": "noon,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blazing",
            "corrected_text": "blazing,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinds",
            "corrected_text": "blinds,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "awnings",
            "corrected_text": "awnings,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fountains",
            "corrected_text": "fountains,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water",
            "corrected_text": "water,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dirt",
            "corrected_text": "dirt,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "decay",
            "corrected_text": "decay,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noon",
            "corrected_text": "noon,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 51,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prisoners",
            "corrected_text": "prisoners,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 52,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "jailers",
            "corrected_text": "jailers,",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 53,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flies",
            "corrected_text": "flies,",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 54,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "soup basins",
            "corrected_text": "soup-basins",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 55,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "soup-basins",
            "corrected_text": "soup-basins,",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 56,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "together",
            "corrected_text": "together,",
            "observed_line_number": 51,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 57,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 52,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 58,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noon",
            "corrected_text": "noon,",
            "observed_line_number": 53,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:25.870099",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T00:35:04.507520",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "down a",
            "corrected_text": "down, a",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "red hot",
            "corrected_text": "red, hot",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sky and",
            "corrected_text": "sky, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lighthouse high",
            "corrected_text": "lighthouse, high",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rock began",
            "corrected_text": "rock, began",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "light and",
            "corrected_text": "light, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boats and",
            "corrected_text": "boats, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison with",
            "corrected_text": "prison, with",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "windows showed",
            "corrected_text": "windows, showed",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "black and",
            "corrected_text": "black, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Then the",
            "corrected_text": "Then, the",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "city and",
            "corrected_text": "city, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hills began",
            "corrected_text": "hills, began",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twinkle here",
            "corrected_text": "twinkle, here",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "there with",
            "corrected_text": "there, with",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lights and",
            "corrected_text": "lights; and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sky and",
            "corrected_text": "sky, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore grew",
            "corrected_text": "shore, grew",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "darker and",
            "corrected_text": "darker, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "darker",
            "corrected_text": "darker.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Then the",
            "corrected_text": "Then, the",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heavily shaded",
            "corrected_text": "heavily-shaded",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in and",
            "corrected_text": "in, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "table",
            "corrected_text": "table.",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Then the",
            "corrected_text": "Then, the",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "closed and",
            "corrected_text": "closed, and",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "drawn and",
            "corrected_text": "drawn, and",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "room seemed",
            "corrected_text": "room, seemed",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "world",
            "corrected_text": "world.",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lighted the",
            "corrected_text": "lighted, the",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it.",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:29.683754",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-07T21:03:32.170950",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Blandois M.",
            "corrected_text": "Blandois, M.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cavalletto John Baptist",
            "corrected_text": "Cavalletto, John Baptist,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chivery John",
            "corrected_text": "Chivery, John,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam Arthur",
            "corrected_text": "Clennam, Arthur,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam Mrs.",
            "corrected_text": "Clennam, Mrs.,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Doyce Daniel",
            "corrected_text": "Doyce, Daniel,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dorrit Amy (Little Dorrit)",
            "corrected_text": "Dorrit, Amy (Little Dorrit),",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dorrit Edward (Tip)",
            "corrected_text": "Dorrit, Edward (Tip),",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dorrit Fanny",
            "corrected_text": "Dorrit, Fanny,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dorrit Frederick",
            "corrected_text": "Dorrit, Frederick,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dorrit William",
            "corrected_text": "Dorrit, William,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Finching Flora",
            "corrected_text": "Finching, Flora,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Flintwinch Affery",
            "corrected_text": "Flintwinch, Affery,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Flintwinch Jeremiah",
            "corrected_text": "Flintwinch, Jeremiah,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "General Mrs.",
            "corrected_text": "General, Mrs.,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Gowan Henry",
            "corrected_text": "Gowan, Henry,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Gowan Mrs.",
            "corrected_text": "Gowan, Mrs.,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Maggy",
            "corrected_text": "Maggy,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Meagles Mr.",
            "corrected_text": "Meagles, Mr.,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Meagles Mrs.",
            "corrected_text": "Meagles, Mrs.,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Meagles Minnie (Pet)",
            "corrected_text": "Meagles, Minnie (Pet),",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Merdel Mr.",
            "corrected_text": "Merdel, Mr.,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Nandy John Edward",
            "corrected_text": "Nandy, John Edward,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Pancks",
            "corrected_text": "Pancks,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Plornish Mr.",
            "corrected_text": "Plornish, Mr.,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Plornish Mrs.",
            "corrected_text": "Plornish, Mrs.,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Rugg Mr.",
            "corrected_text": "Rugg, Mr.,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Rugg Anastasia",
            "corrected_text": "Rugg, Anastasia,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sparkler Edmund",
            "corrected_text": "Sparkler, Edmund,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Stiltstalking Lord Decimus Tite Barnacle",
            "corrected_text": "Stiltstalking, Lord Decimus Tite Barnacle,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Tattycoram (Harriet Beadle)",
            "corrected_text": "Tattycoram (Harriet Beadle),",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Tickit Mrs.",
            "corrected_text": "Tickit, Mrs.,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Wade Miss",
            "corrected_text": "Wade, Miss,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:36.286387",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T00:36:24.164766",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "down a",
            "corrected_text": "down, a",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water and",
            "corrected_text": "water, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore the",
            "corrected_text": "shore, the",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "air the",
            "corrected_text": "air, the",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hills the",
            "corrected_text": "hills, the",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "objects the",
            "corrected_text": "objects, the",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "birds the",
            "corrected_text": "birds, the",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fish the",
            "corrected_text": "fish, the",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boats the",
            "corrected_text": "boats, the",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men the",
            "corrected_text": "men, the",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women the",
            "corrected_text": "women, the",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "children the",
            "corrected_text": "children, the",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Alps the",
            "corrected_text": "Alps, the",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Rhone the",
            "corrected_text": "Rhone, the",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hill the",
            "corrected_text": "hill, the",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river the",
            "corrected_text": "river, the",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison the",
            "corrected_text": "prison, the",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sky the",
            "corrected_text": "sky, the",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river the",
            "corrected_text": "river, the",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hills the",
            "corrected_text": "hills, the",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sky",
            "corrected_text": "sky.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "glare which",
            "corrected_text": "glare, which",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "down",
            "corrected_text": "down.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gone the",
            "corrected_text": "gone, the",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "up and",
            "corrected_text": "up, and",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "peaceful and",
            "corrected_text": "peaceful, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lovely",
            "corrected_text": "lovely.",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison!",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "There the",
            "corrected_text": "There, the",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sluggishly uglily",
            "corrected_text": "sluggishly, uglily",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noisomely",
            "corrected_text": "noisomely.",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eat) and",
            "corrected_text": "eat), and",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "night",
            "corrected_text": "night.",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lockings up",
            "corrected_text": "lockings-up",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time",
            "corrected_text": "time.",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wicket a",
            "corrected_text": "wicket, a",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:40.634578",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T10:17:35.086432",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the sea and",
            "corrected_text": "the sea, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the shore and",
            "corrected_text": "the shore, and",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:44.633305",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-07T21:04:48.241485",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseille and",
            "corrected_text": "Marseille, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Marseille",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:46.737276",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T00:38:22.270731",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust and",
            "corrected_text": "dust, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells and",
            "corrected_text": "smells, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells and",
            "corrected_text": "bells, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beggars and",
            "corrected_text": "beggars, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs and",
            "corrected_text": "dogs, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dirt and",
            "corrected_text": "dirt, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ruin were",
            "corrected_text": "ruin, were",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:49.329836",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T10:19:32.813224",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and as",
            "corrected_text": "and, as",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:49.934855",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-07T21:06:54.089381",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thirty five",
            "corrected_text": "thirty-five",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "years",
            "corrected_text": "years,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ago",
            "corrected_text": "ago,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hot",
            "corrected_text": "hot,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white",
            "corrected_text": "white,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinding",
            "corrected_text": "blinding,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water",
            "corrected_text": "water,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blue",
            "corrected_text": "blue,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "glittering",
            "corrected_text": "glittering,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boats",
            "corrected_text": "boats,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shipping",
            "corrected_text": "shipping,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quays",
            "corrected_text": "quays,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "houses",
            "corrected_text": "houses,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white",
            "corrected_text": "white,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "glaring",
            "corrected_text": "glaring,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinds",
            "corrected_text": "blinds,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "awnings",
            "corrected_text": "awnings,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "green",
            "corrected_text": "green,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "closed",
            "corrected_text": "closed,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "churches",
            "corrected_text": "churches,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "barracks",
            "corrected_text": "barracks,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prisons",
            "corrected_text": "prisons,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hot",
            "corrected_text": "hot,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stifling",
            "corrected_text": "stifling,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "air",
            "corrected_text": "air,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clocks",
            "corrected_text": "clocks,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stewing",
            "corrected_text": "stewing,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cooking",
            "corrected_text": "cooking,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "oil",
            "corrected_text": "oil,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "garlic",
            "corrected_text": "garlic,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine",
            "corrected_text": "wine,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noon",
            "corrected_text": "noon,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shade",
            "corrected_text": "shade,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water",
            "corrected_text": "water,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 51,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 52,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 53,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 54,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 55,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 56,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 57,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 58,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 59,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 60,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 61,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 62,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 63,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 64,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 65,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 66,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 67,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 68,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 69,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 70,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 71,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 72,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 73,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 74,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 75,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 76,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 77,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 78,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 79,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 80,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 81,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 82,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 83,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 84,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 85,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 86,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 87,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 88,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 89,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 90,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 91,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 92,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 93,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 94,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 95,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 96,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 97,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 98,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:44:57.023059",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T00:39:50.569302",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "light-house",
            "corrected_text": "light-house,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hills",
            "corrected_text": "hills,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "harbour-quays",
            "corrected_text": "harbour-quays,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ships, how",
            "corrected_text": "ships; how",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town and",
            "corrected_text": "town, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "below and",
            "corrected_text": "below, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the streets",
            "corrected_text": "the noisy streets",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "squares, how",
            "corrected_text": "squares; how",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the light",
            "corrected_text": "the lightest light",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the dark",
            "corrected_text": "the darkest dark",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "air, and",
            "corrected_text": "air; and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the country",
            "corrected_text": "the distant country",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "country all",
            "corrected_text": "country were all",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "together, in",
            "corrected_text": "together; in",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "varying",
            "corrected_text": "Varying",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Varying restless",
            "corrected_text": "Varying, restless",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "restless dreaming",
            "corrected_text": "restless, dreaming",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dreaming rather",
            "corrected_text": "dreaming, rather",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Reality,",
            "corrected_text": "Reality.",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time",
            "corrected_text": "time,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "his in",
            "corrected_text": "his competence in",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "profession, the",
            "corrected_text": "profession; the",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the departure",
            "corrected_text": "the first departure",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "voyage, the",
            "corrected_text": "voyage; the",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the arrival",
            "corrected_text": "the first arrival",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "port, the",
            "corrected_text": "port; the",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the sight",
            "corrected_text": "the first sight",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore, the",
            "corrected_text": "shore; the",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the day",
            "corrected_text": "the first day",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "East, the",
            "corrected_text": "East; the",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "home, the",
            "corrected_text": "home; the",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the promotion",
            "corrected_text": "the first promotion",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "promotion, the",
            "corrected_text": "promotion; the",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "command, the",
            "corrected_text": "command; the",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "first service",
            "corrected_text": "first active service",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "service, the",
            "corrected_text": "service; the",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "first attack",
            "corrected_text": "first hostile attack",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "attack, the",
            "corrected_text": "attack; the",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "he flew",
            "corrected_text": "he ever flew",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "flew the flag",
            "corrected_text": "flew the English flag",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flag, the",
            "corrected_text": "flag; the",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "he headed",
            "corrected_text": "he ever headed",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "headed the of",
            "corrected_text": "headed the defence of",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "post, and",
            "corrected_text": "post; and",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "his wound",
            "corrected_text": "his first wound",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wound, what",
            "corrected_text": "wound. What",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "a of",
            "corrected_text": "a crowding of",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "memories, what",
            "corrected_text": "memories! What",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "life had",
            "corrected_text": "life he had",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 51,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "led, what",
            "corrected_text": "led! What",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 52,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "captures escapes",
            "corrected_text": "captures, escapes",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 53,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "escapes and",
            "corrected_text": "escapes, and",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 54,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "preservations.",
            "corrected_text": "preservations!",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:00.963942",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T10:21:08.870588",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ships and",
            "corrected_text": "ships, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "harbour and",
            "corrected_text": "harbour, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "forts and",
            "corrected_text": "forts, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "churches and",
            "corrected_text": "churches, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "public buildings rising",
            "corrected_text": "public buildings, rising",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "amphitheatre and",
            "corrected_text": "amphitheatre, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore were",
            "corrected_text": "shore, were",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blazing heat was",
            "corrected_text": "blazing heat, was",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles though",
            "corrected_text": "Marseilles, though",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it were dissolved",
            "corrected_text": "it were, dissolved",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "air was",
            "corrected_text": "air, was",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water was",
            "corrected_text": "water, was",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones were",
            "corrected_text": "stones, were",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinds were",
            "corrected_text": "blinds, were",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "houses were",
            "corrected_text": "houses, were",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pavement was",
            "corrected_text": "pavement, was",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs were",
            "corrected_text": "dogs, were",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men were",
            "corrected_text": "men, were",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat were",
            "corrected_text": "heat, were",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells were",
            "corrected_text": "bells, were",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun was",
            "corrected_text": "sun, was",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 51,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 52,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 53,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat was",
            "corrected_text": "heat, was",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:05.199076",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-07T21:08:04.612509",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thirty five",
            "corrected_text": "thirty-five",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water",
            "corrected_text": "water,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "basin",
            "corrected_text": "basin,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boats",
            "corrected_text": "boats,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quay",
            "corrected_text": "quay,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "oil",
            "corrected_text": "oil,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "garlic",
            "corrected_text": "garlic,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "melons",
            "corrected_text": "melons,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grapes",
            "corrected_text": "grapes,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine",
            "corrected_text": "wine,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "vinegar",
            "corrected_text": "vinegar,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "onions",
            "corrected_text": "onions,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "horses",
            "corrected_text": "horses,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mules",
            "corrected_text": "mules,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "carts",
            "corrected_text": "carts,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bales",
            "corrected_text": "bales,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boxes",
            "corrected_text": "boxes,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "barrels",
            "corrected_text": "barrels,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "packages",
            "corrected_text": "packages,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women",
            "corrected_text": "women,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "children",
            "corrected_text": "children,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fowls",
            "corrected_text": "fowls,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pigeons",
            "corrected_text": "pigeons,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dirt",
            "corrected_text": "dirt,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noise",
            "corrected_text": "noise,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "business",
            "corrected_text": "business,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "idleness",
            "corrected_text": "idleness,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "blazing",
            "corrected_text": "were blazing",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blazing",
            "corrected_text": "blazing,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boiling",
            "corrected_text": "boiling,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "burning",
            "corrected_text": "burning,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "seething",
            "corrected_text": "seething,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stewing",
            "corrected_text": "stewing,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "frying",
            "corrected_text": "frying,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shining",
            "corrected_text": "shining,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gasping",
            "corrected_text": "gasping,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "panting",
            "corrected_text": "panting,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "everywhere",
            "corrected_text": "everywhere.",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:09.633115",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T00:41:35.411026",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:09.625058",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T10:23:26.471441",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:09.628568",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T11:12:53.917802",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:16.491169",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-07T21:12:00.818592",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hot",
            "corrected_text": "hot,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dusty",
            "corrected_text": "dusty,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white",
            "corrected_text": "white,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinding",
            "corrected_text": "blinding,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water",
            "corrected_text": "water,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stone",
            "corrected_text": "stone,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "air",
            "corrected_text": "air,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mules",
            "corrected_text": "mules,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women",
            "corrected_text": "women,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "children",
            "corrected_text": "children,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "houses",
            "corrected_text": "houses,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "country",
            "corrected_text": "country,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinds",
            "corrected_text": "blinds,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "awnings",
            "corrected_text": "awnings,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shutters",
            "corrected_text": "shutters,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "doors",
            "corrected_text": "doors,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "churches",
            "corrected_text": "churches,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "convents",
            "corrected_text": "convents,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prisons",
            "corrected_text": "prisons,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "palaces",
            "corrected_text": "palaces,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "barracks",
            "corrected_text": "barracks,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "offices",
            "corrected_text": "offices,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stores",
            "corrected_text": "stores,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shops",
            "corrected_text": "shops,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shade",
            "corrected_text": "shade,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells",
            "corrected_text": "smells,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beggars",
            "corrected_text": "beggars,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flies",
            "corrected_text": "flies,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fleas",
            "corrected_text": "fleas,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women",
            "corrected_text": "women,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "children",
            "corrected_text": "children,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "priests",
            "corrected_text": "priests,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "soldiers",
            "corrected_text": "soldiers,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "monks",
            "corrected_text": "monks,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "nuns",
            "corrected_text": "nuns,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sailors",
            "corrected_text": "sailors,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 51,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "porters",
            "corrected_text": "porters,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 52,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Frenchmen",
            "corrected_text": "Frenchmen,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 53,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Englishmen",
            "corrected_text": "Englishmen,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 54,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Neapolitans",
            "corrected_text": "Neapolitans,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 55,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Romans",
            "corrected_text": "Romans,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 56,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Florentines",
            "corrected_text": "Florentines,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 57,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Genoese",
            "corrected_text": "Genoese,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 58,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Jews",
            "corrected_text": "Jews,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 59,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Greeks",
            "corrected_text": "Greeks,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 60,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Turks",
            "corrected_text": "Turks,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 61,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "slaves",
            "corrected_text": "slaves,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 62,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "soldiers",
            "corrected_text": "soldiers,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 63,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "officials",
            "corrected_text": "officials,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 64,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sailors",
            "corrected_text": "sailors,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 65,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "idlers",
            "corrected_text": "idlers,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 66,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "criminals",
            "corrected_text": "criminals,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 67,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "captives",
            "corrected_text": "captives,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 68,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "soldiers",
            "corrected_text": "soldiers,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 69,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "priests",
            "corrected_text": "priests,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 70,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pilgrims",
            "corrected_text": "pilgrims,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 71,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "travellers",
            "corrected_text": "travellers,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 72,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mules",
            "corrected_text": "mules,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 73,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "horses",
            "corrected_text": "horses,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 74,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "asses",
            "corrected_text": "asses,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 75,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "carts",
            "corrected_text": "carts,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 76,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "coaches",
            "corrected_text": "coaches,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 77,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "chairs",
            "corrected_text": "chairs,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 78,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "litters",
            "corrected_text": "litters,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 79,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tumbrils",
            "corrected_text": "tumbrils,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 80,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "waggons",
            "corrected_text": "waggons,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 81,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine-carts",
            "corrected_text": "wine-carts,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 82,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water-carts",
            "corrected_text": "water-carts,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 83,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fruit-carts",
            "corrected_text": "fruit-carts,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 84,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "milk-carts",
            "corrected_text": "milk-carts,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 85,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hay-carts",
            "corrected_text": "hay-carts,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 86,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wood-carts",
            "corrected_text": "wood-carts,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 87,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "garbage-carts",
            "corrected_text": "garbage-carts,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 88,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cattle",
            "corrected_text": "cattle,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 89,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "goats",
            "corrected_text": "goats,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 90,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sheep",
            "corrected_text": "sheep,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 91,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pigs",
            "corrected_text": "pigs,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 92,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fowls",
            "corrected_text": "fowls,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 93,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 94,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cats",
            "corrected_text": "cats,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:22.738758",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T11:14:30.498142",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and as",
            "corrected_text": "and, as",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinds and",
            "corrected_text": "blinds, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "windows and",
            "corrected_text": "windows, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "doors and",
            "corrected_text": "doors, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "houses and",
            "corrected_text": "houses, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets and",
            "corrected_text": "streets, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shade and",
            "corrected_text": "shade, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water and",
            "corrected_text": "water, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "everything was",
            "corrected_text": "everything, was",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun burnt",
            "corrected_text": "sun-burnt",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dusty air",
            "corrected_text": "dusty; air",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water seemed",
            "corrected_text": "water, seemed",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust and",
            "corrected_text": "dust, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust and",
            "corrected_text": "dust, and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust and",
            "corrected_text": "dust, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust except",
            "corrected_text": "dust, except",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust which",
            "corrected_text": "dust, which",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust discoloured",
            "corrected_text": "dust, discoloured",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust veiled",
            "corrected_text": "dust, veiled",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust clogged",
            "corrected_text": "dust, clogged",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust was",
            "corrected_text": "dust, was",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:22.869633",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-07T21:12:55.951276",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "themselves and",
            "corrected_text": "themselves, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun and",
            "corrected_text": "sun, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust and",
            "corrected_text": "dust, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smells and",
            "corrected_text": "smells, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells and",
            "corrected_text": "bells, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beggars and",
            "corrected_text": "beggars, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs and",
            "corrected_text": "dogs, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flies and",
            "corrected_text": "flies, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fleas and",
            "corrected_text": "fleas, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "people and",
            "corrected_text": "people, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "priests and",
            "corrected_text": "priests, and",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "soldiers and",
            "corrected_text": "soldiers, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stenches and",
            "corrected_text": "stenches, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets and",
            "corrected_text": "streets, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "houses and",
            "corrected_text": "houses, and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "palaces and",
            "corrected_text": "palaces, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "churches and",
            "corrected_text": "churches, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "jails and",
            "corrected_text": "jails, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "barracks and",
            "corrected_text": "barracks, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shops and",
            "corrected_text": "shops, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "theatres and",
            "corrected_text": "theatres, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "public gardens and",
            "corrected_text": "public gardens, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "market-places and",
            "corrected_text": "market-places, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fountains and",
            "corrected_text": "fountains, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "statues and",
            "corrected_text": "statues, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dirty water and",
            "corrected_text": "dirty water, and",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "children and",
            "corrected_text": "children, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "old men and",
            "corrected_text": "old men, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "old women and",
            "corrected_text": "old women, and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boys and",
            "corrected_text": "boys, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "girls and",
            "corrected_text": "girls, and",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sweetmeats and",
            "corrected_text": "sweetmeats, and",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grapes and",
            "corrected_text": "grapes, and",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "melon-seeds and",
            "corrected_text": "melon-seeds, and",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "jackasses and",
            "corrected_text": "jackasses, and",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "empty carriages and",
            "corrected_text": "empty carriages, and",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "chairs and",
            "corrected_text": "chairs, and",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tables and",
            "corrected_text": "tables, and",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "soldiers' rooms and",
            "corrected_text": "soldiers' rooms, and",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prisoners' rooms and",
            "corrected_text": "prisoners' rooms, and",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "carts and",
            "corrected_text": "carts, and",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "horses and",
            "corrected_text": "horses, and",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mules and",
            "corrected_text": "mules, and",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stoppages and",
            "corrected_text": "stoppages, and",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wildernesses of stone and",
            "corrected_text": "wildernesses of stone, and",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wildernesses of waste and",
            "corrected_text": "wildernesses of waste, and",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wildernesses of wooden forms and",
            "corrected_text": "wildernesses of wooden forms, and",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wildernesses of many counts and",
            "corrected_text": "wildernesses of many counts, and",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wildernesses of dusty papers and",
            "corrected_text": "wildernesses of dusty papers, and",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wildernesses of idle people, all",
            "corrected_text": "wildernesses of idle people all",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "together were",
            "corrected_text": "together, were",
            "observed_line_number": 51,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:32.930226",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T10:58:58.393898",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water-carts",
            "corrected_text": "water-carts,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinds",
            "corrected_text": "blinds,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "houses",
            "corrected_text": "houses,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "doors",
            "corrected_text": "doors,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stores",
            "corrected_text": "stores,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fountains",
            "corrected_text": "fountains,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "horses",
            "corrected_text": "horses,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women",
            "corrected_text": "women,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "children",
            "corrected_text": "children,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ships",
            "corrected_text": "ships,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quays",
            "corrected_text": "quays,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "harbour",
            "corrected_text": "harbour,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fortifications",
            "corrected_text": "fortifications,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hill",
            "corrected_text": "hill,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "glare",
            "corrected_text": "glare,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smell",
            "corrected_text": "smell,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noon",
            "corrected_text": "noon,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smell",
            "corrected_text": "smell,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noon",
            "corrected_text": "noon.",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Jailer",
            "corrected_text": "Jailer,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Turnkey",
            "corrected_text": "Turnkey,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Prisoner",
            "corrected_text": "Prisoner,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun",
            "corrected_text": "Sun,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fly",
            "corrected_text": "Fly,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Jailer",
            "corrected_text": "Jailer,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Turnkey",
            "corrected_text": "Turnkey,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Prisoner",
            "corrected_text": "Prisoner,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun",
            "corrected_text": "Sun,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fly",
            "corrected_text": "Fly,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "down",
            "corrected_text": "down,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hill",
            "corrected_text": "hill,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Jailer",
            "corrected_text": "Jailer,",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Turnkey",
            "corrected_text": "Turnkey,",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Prisoner",
            "corrected_text": "Prisoner,",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun",
            "corrected_text": "Sun,",
            "observed_line_number": 51,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 51,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fly",
            "corrected_text": "Fly,",
            "observed_line_number": 52,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 52,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "up",
            "corrected_text": "up,",
            "observed_line_number": 53,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 53,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hill",
            "corrected_text": "hill,",
            "observed_line_number": 54,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 54,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town,",
            "observed_line_number": 55,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 55,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Jailer",
            "corrected_text": "Jailer,",
            "observed_line_number": 56,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 56,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Turnkey",
            "corrected_text": "Turnkey,",
            "observed_line_number": 57,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 57,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Prisoner",
            "corrected_text": "Prisoner,",
            "observed_line_number": 58,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 58,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun",
            "corrected_text": "Sun,",
            "observed_line_number": 59,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 59,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fly",
            "corrected_text": "Fly,",
            "observed_line_number": 60,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 60,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stuck",
            "corrected_text": "stuck,",
            "observed_line_number": 61,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 61,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clogged",
            "corrected_text": "clogged,",
            "observed_line_number": 62,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 62,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stopped",
            "corrected_text": "stopped,",
            "observed_line_number": 63,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 63,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Jailer",
            "corrected_text": "Jailer,",
            "observed_line_number": 64,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 64,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Turnkey",
            "corrected_text": "Turnkey,",
            "observed_line_number": 65,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 65,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Prisoner",
            "corrected_text": "Prisoner,",
            "observed_line_number": 66,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 66,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun",
            "corrected_text": "Sun,",
            "observed_line_number": 67,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 67,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fly",
            "corrected_text": "Fly,",
            "observed_line_number": 68,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 68,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "together",
            "corrected_text": "together.",
            "observed_line_number": 69,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:35.077182",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T11:16:13.542331",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun burnt",
            "corrected_text": "sun-burnt",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "country and",
            "corrected_text": "country, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "sun-dial",
            "corrected_text": "sun-dial",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:39.657374",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-07T21:14:32.381644",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thirty five",
            "corrected_text": "thirty-five",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water",
            "corrected_text": "water,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinds",
            "corrected_text": "blinds,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "awnings",
            "corrected_text": "awnings,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dirt",
            "corrected_text": "dirt,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "soap",
            "corrected_text": "soap,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fat",
            "corrected_text": "fat,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "offal",
            "corrected_text": "offal,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "houses",
            "corrected_text": "houses,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "doors",
            "corrected_text": "doors,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "windows",
            "corrected_text": "windows,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shutters",
            "corrected_text": "shutters,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "churches",
            "corrected_text": "churches,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "barns",
            "corrected_text": "barns,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dung hills",
            "corrected_text": "dung-hills",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dung-hills",
            "corrected_text": "dung-hills,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prisons",
            "corrected_text": "prisons,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prisoners",
            "corrected_text": "prisoners,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "palaces",
            "corrected_text": "palaces,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "riches",
            "corrected_text": "riches,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poverty",
            "corrected_text": "poverty,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pools",
            "corrected_text": "pools,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fountains",
            "corrected_text": "fountains,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "people",
            "corrected_text": "people,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beasts",
            "corrected_text": "beasts,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flies",
            "corrected_text": "flies,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women",
            "corrected_text": "women,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "children",
            "corrected_text": "children,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "inside",
            "corrected_text": "inside,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside",
            "corrected_text": "outside,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water",
            "corrected_text": "water,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "land",
            "corrected_text": "land,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "everything",
            "corrected_text": "everything,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shade",
            "corrected_text": "shade,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high",
            "corrected_text": "high,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "low",
            "corrected_text": "low,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "air",
            "corrected_text": "air,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water",
            "corrected_text": "water,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sky",
            "corrected_text": "sky,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earth",
            "corrected_text": "earth,",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "oil",
            "corrected_text": "oil,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:31.812903",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T21:03:32.071371",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water-carts",
            "corrected_text": "water-carts,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sprinkled",
            "corrected_text": "sprinkled,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets;",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "houses",
            "corrected_text": "houses,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blinds",
            "corrected_text": "blinds,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "awnings",
            "corrected_text": "awnings,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shops",
            "corrected_text": "shops;",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "people",
            "corrected_text": "people,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "caf\u00e9s",
            "corrected_text": "caf\u00e9s,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "billiard-tables",
            "corrected_text": "billiard-tables,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hats",
            "corrected_text": "hats,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "coats",
            "corrected_text": "coats,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shirtsleeves",
            "corrected_text": "shirt-sleeves",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shirt-sleeves",
            "corrected_text": "shirt-sleeves,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cats",
            "corrected_text": "cats,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "canaries",
            "corrected_text": "canaries,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "goldfish",
            "corrected_text": "goldfish,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pavement",
            "corrected_text": "pavement,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shade",
            "corrected_text": "shade;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "summer",
            "corrected_text": "summer,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noon",
            "corrected_text": "noon.",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "south",
            "corrected_text": "South",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "France",
            "corrected_text": "France,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "east",
            "corrected_text": "east,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "west",
            "corrected_text": "west,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "north",
            "corrected_text": "north,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "south",
            "corrected_text": "south.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fish",
            "corrected_text": "fish,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "oil",
            "corrected_text": "oil,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "garlic",
            "corrected_text": "garlic,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sour wine",
            "corrected_text": "sour wine,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fruit",
            "corrected_text": "fruit,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tobacco",
            "corrected_text": "tobacco,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cheese",
            "corrected_text": "cheese,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "vegetables",
            "corrected_text": "vegetables,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dirt",
            "corrected_text": "dirt.",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "altogether",
            "corrected_text": "altogether,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "streets",
            "corrected_text": "streets,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lanes",
            "corrected_text": "lanes,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "passages",
            "corrected_text": "passages,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quays",
            "corrected_text": "quays,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terraces",
            "corrected_text": "terraces,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 51,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yards",
            "corrected_text": "yards,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 52,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "courts",
            "corrected_text": "courts,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 53,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "corners",
            "corrected_text": "corners,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 54,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stank",
            "corrected_text": "stank.",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 55,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 56,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town;",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 57,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 58,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 59,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 60,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison.",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 61,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bottom",
            "corrected_text": "bottom,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 62,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "basin",
            "corrected_text": "basin,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 63,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "harbour",
            "corrected_text": "harbour,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 64,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison.",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 65,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 66,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town;",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 67,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 68,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 69,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 70,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison.",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 71,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "minutes",
            "corrected_text": "minutes,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 72,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 73,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town,",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 74,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "town",
            "corrected_text": "town,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 75,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison",
            "corrected_text": "prison.",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:31.813791",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-07T21:17:57.581698",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thirty five",
            "corrected_text": "thirty-five",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun burnt",
            "corrected_text": "sun-burnt",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dusty",
            "corrected_text": "dusty,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "road side",
            "corrected_text": "road-side",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "inn",
            "corrected_text": "inn,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flies",
            "corrected_text": "flies,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine",
            "corrected_text": "wine,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "garlic",
            "corrected_text": "garlic,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "oil",
            "corrected_text": "oil,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women",
            "corrected_text": "women,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "children",
            "corrected_text": "children,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "horses",
            "corrected_text": "horses,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mules",
            "corrected_text": "mules,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fowls",
            "corrected_text": "fowls,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pigs",
            "corrected_text": "pigs,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flies",
            "corrected_text": "flies,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine",
            "corrected_text": "wine,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "garlic",
            "corrected_text": "garlic,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "oil",
            "corrected_text": "oil,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thirty five",
            "corrected_text": "thirty-five",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun burnt",
            "corrected_text": "sun-burnt",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dusty",
            "corrected_text": "dusty,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "road side",
            "corrected_text": "road-side",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "inn",
            "corrected_text": "inn,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flies",
            "corrected_text": "flies,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine",
            "corrected_text": "wine,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "garlic",
            "corrected_text": "garlic,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "oil",
            "corrected_text": "oil,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women",
            "corrected_text": "women,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "children",
            "corrected_text": "children,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "horses",
            "corrected_text": "horses,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mules",
            "corrected_text": "mules,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fowls",
            "corrected_text": "fowls,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pigs",
            "corrected_text": "pigs,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 49,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 50,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flies",
            "corrected_text": "flies,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 51,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine",
            "corrected_text": "wine,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 52,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "garlic",
            "corrected_text": "garlic,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 53,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "oil",
            "corrected_text": "oil,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 54,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 55,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 56,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thirty five",
            "corrected_text": "thirty-five",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 57,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun burnt",
            "corrected_text": "sun-burnt",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 58,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dusty",
            "corrected_text": "dusty,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 59,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "road side",
            "corrected_text": "road-side",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 60,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "inn",
            "corrected_text": "inn,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 61,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 62,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 63,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flies",
            "corrected_text": "flies,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 64,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine",
            "corrected_text": "wine,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 65,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "garlic",
            "corrected_text": "garlic,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 66,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "oil",
            "corrected_text": "oil,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 67,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "men",
            "corrected_text": "men,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 68,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women",
            "corrected_text": "women,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 69,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "children",
            "corrected_text": "children,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 70,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "horses",
            "corrected_text": "horses,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 71,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mules",
            "corrected_text": "mules,",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 72,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dogs",
            "corrected_text": "dogs,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 73,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fowls",
            "corrected_text": "fowls,",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 74,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pigs",
            "corrected_text": "pigs,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 75,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dust",
            "corrected_text": "dust,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 76,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat",
            "corrected_text": "heat,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 77,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flies",
            "corrected_text": "flies,",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 78,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine",
            "corrected_text": "wine,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 79,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "garlic",
            "corrected_text": "garlic,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 80,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "oil",
            "corrected_text": "oil,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 81,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 82,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "August",
            "corrected_text": "August,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 83,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thirty five",
            "corrected_text": "thirty-five",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 84,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun burnt",
            "corrected_text": "sun-burnt",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 85,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dusty",
            "corrected_text": "dusty,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 86,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "road side",
            "corrected_text": "road-side",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 87,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "inn",
            "corrected_text": "inn,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:43.383451",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T11:18:51.420969",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the sun and",
            "corrected_text": "the sun, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the sea and",
            "corrected_text": "the sea, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the city and",
            "corrected_text": "the city, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the country rose",
            "corrected_text": "the country, rose",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles on",
            "corrected_text": "Marseilles, on",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "day lay",
            "corrected_text": "day, lay",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "glare and",
            "corrected_text": "glare, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heat and",
            "corrected_text": "heat, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "noise and",
            "corrected_text": "noise, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dirt and",
            "corrected_text": "dirt, and",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stench and",
            "corrected_text": "stench, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sickness and",
            "corrected_text": "sickness, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "faintness were",
            "corrected_text": "faintness, were",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles in",
            "corrected_text": "Marseilles, in",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "summer is",
            "corrected_text": "summer, is",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stewed and",
            "corrected_text": "stewed, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fried and",
            "corrected_text": "fried, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "baked and",
            "corrected_text": "baked, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "broiled and",
            "corrected_text": "broiled, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "simmered and",
            "corrected_text": "simmered, and",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "steamed and",
            "corrected_text": "steamed, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "served up",
            "corrected_text": "served up.",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun baked",
            "corrected_text": "sun-baked",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun cracked",
            "corrected_text": "sun-cracked",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun blistered",
            "corrected_text": "sun-blistered",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun dried",
            "corrected_text": "sun-dried",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun burnt",
            "corrected_text": "sun-burnt",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun scorched",
            "corrected_text": "sun-scorched",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun smitten",
            "corrected_text": "sun-smitten",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun fevered",
            "corrected_text": "sun-fevered",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun struck",
            "corrected_text": "sun-struck",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun blinds",
            "corrected_text": "sun-blinds",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun shades",
            "corrected_text": "sun-shades",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun umbrellas",
            "corrected_text": "sun-umbrellas",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun hats",
            "corrected_text": "sun-hats",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun bonnets",
            "corrected_text": "sun-bonnets",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun caps",
            "corrected_text": "sun-caps",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun helmets",
            "corrected_text": "sun-helmets",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun strokes",
            "corrected_text": "sun-strokes",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_2_5_pro_preview_03_25",
        "date": "2026-02-22T15:45:43.381663",
        "annotator": "Gemini 2.5 Pro Preview 3/25",
        "annotation_date": "2025-04-08T21:05:31.391356",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "down a",
            "corrected_text": "down, a",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore the",
            "corrected_text": "shore, the",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "air the",
            "corrected_text": "air, the",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hills the",
            "corrected_text": "hills, the",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "buildings the",
            "corrected_text": "buildings, the",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lights the",
            "corrected_text": "lights, the",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "life the",
            "corrected_text": "life, the",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "crowd and",
            "corrected_text": "crowd, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stir were",
            "corrected_text": "stir, were",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "together blurred",
            "corrected_text": "together\u2014blurred",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "together indistinctly",
            "corrected_text": "together, indistinctly",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sea and",
            "corrected_text": "sea, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "air which",
            "corrected_text": "air, which",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high began",
            "corrected_text": "high, began",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yet up",
            "corrected_text": "yet up;",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "soft shimmering",
            "corrected_text": "soft, shimmering",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "churches summoning",
            "corrected_text": "churches, summoning",
            "observed_line_number": 52,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "congregations made",
            "corrected_text": "congregations, made",
            "observed_line_number": 54,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Google",
    "release_date": "2025-03-25",
    "release_source": "https://blog.google/technology/google-deepmind/gemini-model-thinking-updates-march-2025/"
  },
  {
    "model_name": "Gemini 3.1 Flash Lite Preview",
    "model_id": "or_gemini_3_1_flash_lite_preview",
    "date": "2026-03-08T12:38:37.666732",
    "shots": 2,
    "config": {
      "model_id": "or_gemini_3_1_flash_lite_preview",
      "display_name": "Gemini 3.1 Flash Lite Preview",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-03-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Gemini 3.1 Flash Lite Preview",
    "annotation_date": "2026-03-08T11:57:45.915828",
    "file_results": [
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:22:27.449878",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T11:57:45.915828",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"howling over\" to \"howling, over\", correctly capturing the intended insertion of a comma after \"howling\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:22:55.255709",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:06:23.145122",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change of inserting a comma after \"howling\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and predicted edit have the type \"punctuation\", so the edit type matches exactly.\n\n2. Text Content Accuracy: Both edits apply the same core punctuation change, converting \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets\". This matches the ground truth intention precisely (line numbers are ignored as instructed)."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:23:21.199460",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:15:19.064247",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: The predicted change matches the ground truth core edit precisely, inserting a comma after \"howling\" to change \"howling over\" to \"howling, over.\" Therefore, it correctly captures the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:23:43.106446",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T11:58:21.188817",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:24:04.809138",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:07:06.795728",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:24:28.026273",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:15:48.356460",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:24:51.130638",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T11:58:56.123062",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:25:14.562956",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:07:49.347928",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:25:37.840152",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:16:29.875927",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:26:17.325628",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T11:59:29.123203",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same change: inserting a comma to convert \"materials costing\" into \"materials, costing\". The core punctuation correction is identical in original and corrected text. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change, inserting a comma between \"about\" and \"and\" (\"about and\" \u2192 \"about, and\"). The original and corrected text strings match the ground truth's intention exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 15,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change: insertion of a comma after \"earnestly.\" Line numbers are to be ignored, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The prediction captures the same core punctuation insertion by changing \"said\" \u2192 \"said,\". Although it includes less surrounding context (it omits \"when\"), it still reflects the essential intended edit: adding a comma immediately after \"said.\""
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "broad high-road",
            "corrected_text": "broad high-road high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tionx",
            "corrected_text": "tion",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:26:56.424515",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:08:31.330516",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both edits change the phrase \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials\". The original_text and corrected_text are identical between ground truth and prediction, capturing the same core change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same correction (\"about, and\"), capturing the core intended change\u2014adding a comma after \"about\". Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 15,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change: inserting a comma after \"earnestly\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" to make it \"said, when\". The prediction specifies \"said\" \u2192 \"said,\", which captures the same core punctuation change (adding a comma immediately after \"said\"). Although it includes less surrounding context (it omits \"when\"), it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "broad high-road",
            "corrected_text": "broad high-road high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tionx",
            "corrected_text": "tion",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:27:28.362242",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:17:00.087279",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original phrase (\"materials costing\") and the same correction (inserting a comma: \"materials, costing\"). The core intended punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The predicted edit \"said\" \u2192 \"said,\" captures the same core punctuation insertion (a comma immediately after \"said\"). Although the prediction omits the following word \"when,\" it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tionx",
            "corrected_text": "tion",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "broad high-road",
            "corrected_text": "broad high-road high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:27:51.501622",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:00:11.681772",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:28:15.982395",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:09:00.505038",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both ground truth and prediction change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the same core punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:28:41.134396",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:17:28.483616",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to the end of \"Sun and Shadow\" to make it \"Sun and Shadow.\". The original and corrected texts align perfectly with the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:29:12.681077",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:00:55.412770",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "A late",
            "corrected_text": "A, late",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man",
            "corrected_text": "One man,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Saone^",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:29:49.300844",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:09:31.270243",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 7,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma between \"man\" and \"slowly\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction makes the same core punctuation change, just with extra preceding context (\"One man slowly\" \u2192 \"One man, slowly\"). This captures the essential intended edit (adding the comma after \"man\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "A late",
            "corrected_text": "A, late",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Saone^",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:30:18.083713",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:18:10.636739",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 7,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly.\" The predicted edit does the same core punctuation change, but includes additional leading context (\"One\"): \"One man slowly\" \u2192 \"One man, slowly.\" This still captures the essential intended correction (comma after \"man\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "A late",
            "corrected_text": "A, late",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:30:41.807701",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:01:42.055818",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:31:04.930075",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:10:12.819629",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:31:28.051017",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:18:55.304089",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "That's well! I hope so; I am not disappointed.",
            "corrected_text": "I hoped so That's well! I hope so; I am not disappointed.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:31:56.190190",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:02:11.864461",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Any line-number discrepancy is to be ignored per instructions.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" This captures the core intended correction with identical original and corrected text. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 29,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction specify changing \"they\" to \"They,\" capturing the same core capitalization correction. Line numbers are ignored as instructed, and there are no extra or conflicting text changes."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:32:23.434635",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:10:42.590124",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text \"hers and\" and the same corrected text \"hers, and\", inserting a comma after \"hers\". This captures the core intended change precisely.\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change the same original text \"hers matters\" to the same corrected text \"hers, matters\", inserting a comma after \"hers\". This captures the core intended correction precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"moment\" in the phrase \"moment with\" to become \"moment, with\". Since the essential punctuation edit is identical, the prediction captures the ground truth intention. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:32:52.170323",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:19:28.252130",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"hers and\") and the same corrected_text (\"hers, and\"), capturing the identical core change of inserting a comma after \"hers\". Ignoring line numbers as instructed, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change, inserting a comma to change \"hers matters\" to \"hers, matters.\" The essential punctuation correction is identical. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"moment with\") and the same corrected_text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Ignoring line numbers as instructed, the prediction matches the ground truth edit intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:33:15.373411",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:02:57.660029",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.",
            "corrected_text": "is now. \"Thank you,\"",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "you\"",
            "corrected_text": "\"",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that",
            "corrected_text": "than that",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:33:43.458029",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:11:24.922557",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.",
            "corrected_text": "is now. \"Thank you,\"",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that once",
            "corrected_text": "than that once",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Thank you",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:34:05.678731",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:20:12.330971",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.",
            "corrected_text": "is now. \"Thank you,\"",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "you\"",
            "corrected_text": "\"",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that",
            "corrected_text": "than that",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:34:45.560171",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:03:29.834996",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"city\" to \"City\", capturing the identical core change. Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege",
            "corrected_text": "liege-",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring",
            "corrected_text": "to",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:35:20.012020",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:11:55.254956",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, converting \"city\" to \"City\". There is no discrepancy in original or corrected text, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing \"them,\" with \"them;\". The original_text and corrected_text are identical between ground truth and prediction, capturing the intended punctuation correction precisely. Line number differences are to be ignored."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 11,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"existence\" to \"existence,\" by adding a comma immediately after the word. This captures the same core correction with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still;",
            "corrected_text": "stand-still,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege",
            "corrected_text": "liege-",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring",
            "corrected_text": "to",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:35:58.596343",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:20:45.119950",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core transformation: changing \"city\" to \"City\". There is no discrepancy in original or corrected text. Therefore, the predicted edit accurately captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"them\" from a comma to a semicolon (\"them,\" \u2192 \"them;\"). The prediction outputs the same corrected form (\"them;\") and targets the same word. Although the prediction\u2019s original_text omits the comma (\"them\" instead of \"them,\"), it still captures the core intended change: the punctuation following \"them\" should be a semicolon rather than the existing punctuation. Therefore, the essential correction is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege",
            "corrected_text": "liege-",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring",
            "corrected_text": "to",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:36:22.401792",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:03:59.343432",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "been a",
            "corrected_text": "been a little",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "your hands. I authorize you, now",
            "corrected_text": "your hands. I authorise you, now",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:36:47.353058",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:12:25.703249",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "been a",
            "corrected_text": "been a little",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "your hands. I authorize you, now",
            "corrected_text": "your hands. I authorise you, now",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:37:12.408795",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:21:28.344751",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "been a",
            "corrected_text": "been a little",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "your hands. I authorize you, now",
            "corrected_text": "your hands. I authorise you, now",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:37:40.655086",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:04:29.557166",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"For Mr. Pancks\" to \"For, Mr. Pancks\"\u2014i.e., it inserts a comma after \"For\". The predicted edit changes \"For Mr.\" to \"For, Mr.\", which applies the same core punctuation change (adding a comma after \"For\"). Although the prediction includes less surrounding context (omits \"Pancks\"), it still captures the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 8,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change: insertion of a comma after \"quickly\". Ignoring line numbers, the prediction matches the ground truth's intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me",
            "corrected_text": "me, a",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "bed",
            "corrected_text": "bed-",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:38:10.326697",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:13:09.076922",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the same core punctuation change at the correct location. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 9,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". This captures the core intended punctuation change exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me",
            "corrected_text": "me, a",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "bed",
            "corrected_text": "bed-",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_1_flash_lite_preview",
        "date": "2026-03-08T12:38:37.666732",
        "annotator": "Gemini 3.1 Flash Lite Preview",
        "annotation_date": "2026-03-08T12:21:59.576605",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the same core punctuation correction\u2014adding the comma after \"For\"\u2014so the essential edit intention matches."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 9,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change\u2014adding a comma after \"quickly\". Ignoring line numbers, the prediction matches the ground truth intention fully."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me",
            "corrected_text": "me, a",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "bed",
            "corrected_text": "bed-",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Google",
    "release_date": "2026-03-03",
    "release_source": "https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-1-flash-lite/"
  },
  {
    "model_name": "Gemini 3.1 Pro Preview",
    "model_id": "or_gemini_3_1_pro_preview",
    "date": "2026-02-22T13:44:19.710995",
    "shots": 2,
    "config": {
      "model_id": "or_gemini_3_1_pro_preview",
      "display_name": "Gemini 3.1 Pro Preview",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-02-22",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Gemini 3.1 Pro Preview",
    "annotation_date": "2026-02-22T13:38:23.952345",
    "file_results": [
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:31.217134",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:38:23.952345",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both aspects of assessment. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, which indicates an accurate identification of the type of change. Secondly, regarding text content accuracy, the core change of adding a period to 'Fellow Travellers' to make it 'Fellow Travellers.' is correctly captured in the prediction. The original and corrected text in the prediction exactly match those in the ground truth. Thus, both the essential change and the edit type are correctly identified and implemented, so the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit both in terms of edit type and text content. \n\n1. Edit Type Accuracy: The type is 'punctuation' in both the ground truth and prediction, and they match exactly.\n\n2. Text Content Accuracy: The core change identified is the insertion of a comma, changing 'howling over' to 'howling, over'. The prediction captures this essential alteration correctly. Thus, the text content accuracy criterion is fulfilled as well.\n\nOverall, since both the edit type and the necessary text change have been accurately captured, the predicted edit correctly reflects the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 19,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Both the edit type and the text content match. \n\n1. Edit Type Accuracy: The type specified in both the ground truth and the predicted edit is 'punctuation'. This is an exact match, satisfying the criterion for edit type accuracy. \n\n2. Text Content Accuracy: Both the ground truth and predicted edits aim to insert a comma, changing 'pockets and' to 'pockets, and'. This captures the core change intended by the ground truth. The line number discrepancy is to be ignored, and since the essential alteration (insertion of a comma) is correctly identified, it satisfies the accuracy requirement for text content. \n\nThus, given that both criteria are met, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir;",
            "corrected_text": "to-day, Sir;",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:30.802472",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:38:21.580763",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. For Edit Type Accuracy, the type is 'punctuation' in both the ground truth and the predicted edit, indicating that they both identify the change as related to punctuation. Regarding Text Content Accuracy, both edits involve inserting a comma between 'howling' and 'over', showing the core change is correctly identified. The prediction reflects the same correction as indicated by the ground truth, as both include 'howling over' to 'howling, over'. Therefore, the prediction is accurate in capturing the ground truth's intention in both edit type and content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Both the predicted edit and the ground truth edit share the same edit type, 'punctuation', which correctly indicates the type of change being made. In terms of text content accuracy, the core change identified in both the ground truth and the prediction is adding a comma between 'yonder' and 'to-day', altering 'yonder to-day' to 'yonder, to-day'. The essential edit, which is the insertion of the comma, is correctly captured by the prediction. Thus, the prediction accurately reflects the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 19,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit matches the ground truth edit in terms of both criteria evaluated. First, the edit type is 'punctuation' in both the ground truth and the predicted edit, which means the edit type accuracy criterion is satisfied. Second, the text content accuracy is confirmed because the core change\u2014the addition of a comma between 'pockets' and 'and'\u2014is correctly captured in the prediction as well. The presence of additional context or differing line numbers is not relevant to the evaluation as specified. Therefore, the predicted edit accurately reflects the ground truth edit's intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:28.622872",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:38:22.699920",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in both edit type and text content. \n\n1. Edit Type Accuracy: The type of edit is 'punctuation' in both the ground truth and predicted edit, indicating the same kind of correction was identified.\n\n2. Text Content Accuracy: The core change involves the insertion of a comma between 'howling' and 'over', altering 'howling over' to 'howling, over'. The predicted edit captures this exact change, demonstrating that it accurately reflects the intention of the ground truth.\n\nSince both criteria are satisfied without any discrepancies, the prediction is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Firstly, the edit type is 'punctuation' in both the ground truth and the predicted edit, meeting the requirement for Edit Type Accuracy. Secondly, regarding Text Content Accuracy, both versions of the text specify the same change: inserting a comma after 'yonder'. The original text 'yonder to-day' is shown as 'yonder, to-day' in both the ground truth and the prediction. Therefore, both the essential change and the edit type are accurately captured, fulfilling both criteria for accuracy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 19,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the criteria provided. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit identify the edit type as 'punctuation', which matches exactly.\n\n2. Text Content Accuracy: The core change identified in both the ground truth and the predicted edit is the insertion of a comma, changing 'pockets and' to 'pockets, and'. The essential punctuation change is correctly captured in both texts, meeting the criteria for text content accuracy. The line number discrepancy is intentionally ignored per the instructions.\n\nSince both criteria are satisfied, the prediction is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, sir",
            "corrected_text": "to-day, sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:24.633250",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:38:26.743926",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly identifies the type of edit as 'punctuation,' matching the ground truth type. Additionally, the text content accuracy criterion is met because the core change from 'No sir' to 'No, sir' is correctly captured in the prediction. The difference in line numbers is disregarded as per the instructions. Thus, the prediction matches the intention of the ground truth edit accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 30,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit is focused on correcting capitalization, which matches the edit type 'capitalization' specified in the ground truth. For text content accuracy, although the predicted original text 'why' is a subset of the ground truth's original text 'why did he dine', the crucial change in capitalization from 'why' to 'Why' is accurately captured. The core alteration\u2014the capitalization of the first word\u2014is correctly identified. Hence, both the edit type and the essential content of the edit are correctly captured by the prediction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:27.231474",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:38:24.553665",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "For this evaluation, we need to verify both the edit type accuracy and the text content accuracy, focusing on the essential change and ignoring the line numbers.\n\n1. **Edit Type Accuracy:** The ground truth specifies the edit type as 'punctuation', and the predicted edit also categorizes the change as 'punctuation'. Since the edit types match, the edit type accuracy criterion is satisfied.\n\n2. **Text Content Accuracy:** The core change identified in the ground truth is adding a comma between 'No' and 'sir', transforming 'No sir' to 'No, sir'. The predicted edit also captures this precise change, modifying 'No sir' to 'No, sir'. Although the line numbers differ between the ground truth and prediction, per instructions, we are to ignore them for this evaluation. The prediction correctly identifies the essential edit, satisfying the text content accuracy criterion.\n\nBoth criteria are met, so the predicted edit is correct according to the guidelines provided."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:30.717849",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:38:35.334438",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit captures the same edit type and core text change as the ground truth edit. Both edits change 'No sir' to 'No, sir', which involves adding a comma for punctuation correction. The type 'punctuation' matches exactly between the ground truth and the prediction. The text content accuracy is fulfilled because the predicted edit effectively reflects the essential modification that was intended by the ground truth. Since both the edit type and the essential text change are accurately captured, the prediction is considered correct despite differing line numbers."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 31,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit is correct based on the evaluation criteria provided. \n\n1. Edit Type Accuracy: \n   - Both the ground truth and predicted edits are of type 'capitalization'. The edit type matches exactly, satisfying this criterion.\n\n2. Text Content Accuracy:\n   - The essential change identified in both the ground truth and the predicted edit is the capitalization of 'why' to 'Why'. \n   - The ground truth edit specifies the full phrase 'why did he dine' changing to 'Why did he dine', while the predicted edit focuses solely on the word 'why' changing to 'Why'. However, both edits capture the core capitalization change of 'why' to 'Why'. The predicted edit is acceptable as it focuses on the essential change required.\n\nSince both criteria are met, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:26.747316",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:38:22.280020",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 37,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly matches the edit type specified in the ground truth, which is 'capitalization'. Both the ground truth and the predicted edit address the need to capitalize the word 'if' to 'If'. Regarding text content accuracy, the predicted edit captures the core change identified by the ground truth edit: changing the lowercase 'if' to the capitalized 'If'. While the predicted edit does not capture the following word 'he,' this is within acceptable bounds for matching text content as per the criteria specified. Therefore, the prediction accurately captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 40,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'replacement,' which matches the ground truth edit type 'replacement.' Therefore, the edit type is correct. 2. Text Content Accuracy: The ground truth correction involves replacing 'said Clennam' with 'asked Clennam,' indicating the core change of replacing 'said' with 'asked.' The predicted edit replaces 'said' with 'asked,' which accurately captures the essential change despite the absence of 'Clennam' in the prediction's original and corrected text. The prediction focuses on the crucial part of the change, i.e., the verb alteration. Thus, the text content is also accurately reflected. Since both the edit type and the text content are correctly captured, the prediction is correct."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:30.605059",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:38:27.252490",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 38,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'capitalization', which matches the ground truth edit type exactly. Therefore, the edit type accuracy criterion is met.\n\n2. Text Content Accuracy: The core change identified in the ground truth is the capitalization of the letter 'i' in 'if', changing it to 'If'. The predicted edit also captures this core change, focusing on the word 'if' and changing it to 'If'. Although the ground truth specifies the context as 'if he' \u2192 'If he', the essential transformation is the capitalization of 'if' to 'If'. The additional context in the ground truth does not alter the nature of the core edit. Thus, the text content accuracy criterion is also met, as the critical transformation is captured accurately by the prediction.\n\nSince both criteria are fulfilled, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 41,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit matches the ground truth in terms of edit type and text content. 1. Edit Type Accuracy: Both the ground truth and the prediction specify the edit type as 'replacement'. Therefore, the edit type matches exactly. 2. Text Content Accuracy: The core change here is the replacement of 'said' with 'asked'. The prediction captures this exact change, replacing 'said' with 'asked', which aligns with the intention of the ground truth. Although the ground truth specifies 'said Clennam' \u2192 'asked Clennam' and the predicted edit specifies only 'said' \u2192 'asked', the essential edit ('said' to 'asked') is accurately captured. Therefore, both criteria are met, and the prediction is considered correct."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:33.324295",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:38:28.010362",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 41,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: The type of edit in both the ground truth and the predicted edit is 'replacement,' which matches exactly. Therefore, the edit type is accurate.\n\n2. Text Content Accuracy: The ground truth edit involves changing 'said Clennam' to 'asked Clennam,' which implies the core change is replacing 'said' with 'asked.' The predicted edit captures this core change by showing 'said' being replaced with 'asked.' Although the prediction includes less context ('said' instead of 'said Clennam'), it captures the essential transformation intended by the ground truth. The additional context (more words before/after the change) is not required for the prediction to be considered accurate in matching the core change intended by the ground truth.\n\nSince both the edit type and the core text content change are correctly captured, the predicted edit matches the ground truth edit's intention accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:00.116498",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:39:12.033358",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The evaluation criteria ignore line numbers, so the discrepancy between line numbers in the predicted edit and the ground truth is not considered. The edit type in both the ground truth and predicted edit is 'punctuation,' which matches exactly, satisfying the Edit Type Accuracy requirement. For Text Content Accuracy, both the ground truth and predicted edits aim to change 'high road' to 'high-road,' capturing the core change intended by the ground truth. Therefore, the essential edit is correctly captured in the prediction. Since both criteria are met, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit captures the intention of the ground truth edit accurately. Both the ground truth and predicted edits are of the same type, 'punctuation,' which means the edit type matches exactly. In terms of text content accuracy, the core change that the ground truth identifies is the insertion of a comma in 'materials costing' to make it 'materials, costing.' The predicted edit also reflects this core change accurately by correcting 'materials costing' to 'materials, costing.' Therefore, even though line numbers are different, according to the evaluation criteria of ignoring line numbers, both the edit type and essential text content match perfectly, fulfilling the requirements for a correct prediction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 16,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on both criteria provided for this evaluation. \n\n1. Edit Type Accuracy:\n   - The type of edit is 'punctuation' in both the ground truth and predicted edit. Therefore, the edit type matches exactly, meeting the requirement for type accuracy.\n\n2. Text Content Accuracy:\n   - The ground truth specifies a correction from 'about and' to 'about, and'. The predicted edit also identifies this change from 'about and' to 'about, and'. The CORE change in text content, which is the addition of a comma after 'about', is accurately captured in the prediction.\n   - Additional context regarding line numbers or extra words in the prediction did not affect this evaluation as we are focusing solely on accurately capturing the essential punctuation change intended by the ground truth.\n\nSince both the edit type and the text content are correctly captured, the prediction aligns accurately with the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit's type is 'punctuation,' which matches the ground truth's type, fulfilling the first criterion of edit type accuracy. For text content accuracy, the ground truth specifies a change from 'said' to 'said,', indicating a comma is added after 'said'. The predicted edit mirrors this essential change by correcting 'said' to 'said,'. Although the predicted change includes additional context ('said when' to 'said, when'), the core modification - the insertion of a comma after 'said' - is present and correct. Therefore, the prediction accurately captures the intention of the ground truth, meeting the criteria for a correct edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:59.681579",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:38:57.673859",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit captures the intention of the ground truth edit accurately. Firstly, the edit type in both the ground truth and predicted edits is 'punctuation', which matches exactly, fulfilling the requirement for edit type accuracy. Secondly, when evaluating text content accuracy, the key change marked in both edits is altering 'high road' to 'high-road'. The predicted edit replicates this exact core change. Even though line numbers differ, they are to be ignored as per the evaluation criteria; hence, their difference does not affect the correctness. Both criteria, edit type and text content, are correctly met in the prediction, making it accurate relative to the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the defined criteria. Firstly, the edit type is 'punctuation' for both the ground truth and the prediction, ensuring edit type accuracy. Secondly, the CORE change identified in the ground truth, which is the addition of a comma in 'materials costing' resulting in 'materials, costing', is precisely mirrored in the prediction's corrected text. Although the line numbers differ, they are explicitly ignored for this evaluation. Therefore, both the edit type and text content match the ground truth's intention, leading to a correct evaluation of the prediction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 16,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. First, the edit type matches exactly as 'punctuation', which satisfies the Edit Type Accuracy criterion. Second, for Text Content Accuracy, the predicted edit correctly identifies and implements the essential change from 'about and' to 'about, and'. This matches the core punctuation change indicated by the ground truth, even though line numbers are ignored for this evaluation. The additional context, if present, does not affect the accuracy of the punctuation change itself. Therefore, both criteria are met, making the prediction accurate."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: The predicted edit has the type 'punctuation', which exactly matches the ground truth's edit type, so this criterion is satisfied.\n2. Text Content Accuracy: The core change in the ground truth edit is the addition of a comma after 'said'. The predicted edit includes this same change by correcting 'said' to 'said,'. Although the predicted edit contains additional context ('said when' to 'said, when'), it accurately captures the essential change intended by the ground truth. Hence, the core edit is correctly identified in the prediction.\nSince both criteria are met, the predicted edit is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:00.898421",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:39:06.117569",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit matches the edit type and the core text content change of the ground truth edit. \n\n1. Edit Type Accuracy: The edit type in the ground truth is 'punctuation', and the predicted edit also specifies 'punctuation'. Thus, the edit types match exactly, satisfying the first criterion. \n\n2. Text Content Accuracy: The core change indicated in the ground truth is from 'high road' to 'high-road'. The predicted edit also captures this change from 'high road' to 'high-road'. Since the essential change, which is the inclusion of the hyphen, is correctly captured in the prediction, the text content change is accurate. \n\nSince both the criteria are met with respect to the edit type and the essential change in text content, the predicted edit is deemed correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit matches the ground truth edit based on the criteria provided. First, the edit type 'punctuation' is exactly the same in both the ground truth and predicted edit, satisfying the edit type accuracy requirement. Second, the text content accuracy is also met as the core change from 'materials costing' to 'materials, costing' is accurately captured in the predicted edit. The focus is on the insertion of a comma, which both the ground truth and predicted edits correctly identify. Additional context, such as line numbers, should be ignored as per the evaluation instructions, and the shared 'page' reference confirms they relate to the same text instance. Thus, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 16,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit matches the ground truth edit in both required areas. Firstly, the edit type is identified as 'punctuation' in both the ground truth and predicted edit, therefore fulfilling the edit type accuracy criterion. Secondly, regarding the text content accuracy, the core change involves adding a comma after 'about' in the sequence 'about and', which results in 'about, and'. The predicted edit captures this change precisely, representing the same transition from 'about and' to 'about, and'. Although the line number differs between the ground truth and predicted edit, we are instructed to ignore this in the evaluation. The essential punctuation change, which is the addition of a comma, is correctly captured, confirming that the predicted edit accurately reflects the intention of the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: The edit type in both the ground truth and the prediction is 'punctuation', indicating they both focus on a punctuation change. This matches exactly, fulfilling the edit type requirement.\n\n2. Text Content Accuracy: The ground truth edit changes 'said' to 'said,'. The predicted edit changes 'said when' to 'said, when', capturing the same core change of adding a comma immediately following 'said'. Although additional context ('when') is included in the prediction, the essential punctuation change matches the ground truth's intention. Therefore, the text content is correctly captured.\n\nThe edit is considered correct as both criteria meet the requirements for accuracy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:47.784293",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:39:00.302603",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:51.060123",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:38:58.602990",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:42:58.486003",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:39:00.485423",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:08.420139",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:40:48.506815",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Both the edit type and the text content are accurately matched. \n\n1. Edit Type Accuracy: The predicted edit type is 'punctuation,' which matches exactly with the ground truth edit type 'punctuation.' Therefore, the edit type is correct.\n\n2. Text Content Accuracy: The original and corrected text in the prediction ('man slowly' \u2192 'man, slowly') match the ground truth ('man slowly' \u2192 'man, slowly'). The prediction properly identifies the core change, which is the insertion of a comma between 'man' and 'slowly.' The additional context is not present, but this does not affect the accuracy of the essential change being captured.\n\nSince both criteria are met, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the two evaluation criteria. \n\n1. Edit Type Accuracy: \n   - Both the ground truth and the predicted edit have the type 'punctuation', indicating that the purpose of the edit is to modify punctuation. Thus, the edit type matches exactly, satisfying the first criterion.\n\n2. Text Content Accuracy: \n   - The core change identified in both the ground truth and the predicted edit is the insertion of a comma in 'Chalons was' to become 'Chalons, was'. The essential edit of adding a comma after 'Chalons' is correctly captured in the predicted edit. The consideration of line numbers is explicitly to be ignored in this evaluation, and the sentence context beyond 'Chalons' is correctly modified in both edits. \n\nAs both the edit type and the text content match the ground truth, the predicted edit is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit matches the ground truth edit in terms of both the edit type and text content. The edit type is a 'replacement', which is the same in both the ground truth and the prediction. The text content changes 'sodden' to 'soddened', which also accurately captures the core change that the ground truth identifies. The line numbers are explicitly stated to be ignored for this evaluation, so they do not affect the correctness. Therefore, the prediction is correct as it fulfills the criteria for edit type and text content accuracy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:09.545979",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:40:52.319753",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Both the edit type and the text content match. \n\n1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches the ground truth edit type exactly. Therefore, the edit type is correct.\n\n2. Text Content Accuracy: The predicted edit captures the exact change from 'man slowly' to 'man, slowly', correctly introducing a comma as shown in the ground truth. Despite potential additional context in line numbers, the CORE change is correctly represented in the text by the addition of the comma. \n\nSince both requirements are met, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly identified the edit type as 'punctuation', which matches the ground truth. Regarding text content accuracy, both the ground truth and the prediction specify the addition of a comma after 'Chalons', changing the text from 'Chalons was' to 'Chalons, was'. The core change, which is the insertion of a comma, has been accurately captured in the prediction. Although the line number differs, line numbers are explicitly ignored for this evaluation. Therefore, the predicted edit accurately captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The evaluation focuses exclusively on the type of edit and the core textual change without considering line numbers. In this case, both the ground truth and predicted edits have the same 'type' of edit, which is a 'replacement'. They both correctly identify the change from 'sodden' to 'soddened'. Since the edit type matches exactly and the correction reflects the essential change intended by the ground truth, the prediction is accurate in terms of capturing the core transformation. Therefore, the prediction meets the criteria for both edit type accuracy and text content accuracy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone.",
            "corrected_text": "river Saone^.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:14.727785",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:40:47.123398",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. **Edit Type Accuracy**: The edit type in the predicted edit is 'punctuation', which matches exactly with the edit type 'punctuation' in the ground truth. This criterion is satisfied.\n\n2. **Text Content Accuracy**: The core change between the original text and the corrected text in both the ground truth and the predicted edit is the insertion of a comma, changing 'man slowly' to 'man, slowly'. The predicted edit captures this essential change correctly. While the line number differs, it is explicitly stated to be ignored for this evaluation. Therefore, the text content accuracy criterion is also met.\n\nSince both criteria are satisfied, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly identifies the type of edit as 'punctuation', which matches the ground truth. This satisfies the criterion for Edit Type Accuracy. For Text Content Accuracy, the core change in both the ground truth and the predicted edit is the addition of a comma after 'Chalons', transforming 'Chalons was' to 'Chalons, was'. The essential edit, which is the addition of the comma, is accurately captured in the prediction. The inclusion of any additional context (such as line number differences) is disregarded based on the evaluation criteria. Therefore, both criteria are met, making the prediction correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit accurately reflects the intention of the ground truth edit based on the criteria specified. \n\n1. Edit Type Accuracy: \n   - Both the ground truth and the prediction have the edit type 'replacement'. This means the edit type matches exactly, satisfying the first criterion.\n\n2. Text Content Accuracy:\n   - Both the ground truth and predicted edits identify the core change of replacing the word 'sodden' with 'soddened'. This matches the essential change specified by the ground truth.\n   - The prediction may ignore line numbers, so focusing solely on the textual correction, both texts are aligned in terms of the primary content change.\n\nTherefore, given that both criteria (edit type and text content accuracy) are fulfilled, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "river Saone.",
            "corrected_text": "river Saone. The",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:20.199799",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:40:49.848658",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit matches the ground truth edit in both criteria provided for evaluation. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, indicating that the intention was to add a punctuation mark. Secondly, the text content accuracy is maintained, as both edits capture the core change by correctly altering 'heart so' to 'heart, so'. Although the line numbers differ, they are to be ignored in this evaluation. Thus, the prediction accurately aligns with the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in his",
            "corrected_text": "in his",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did",
            "corrected_text": "thanked him from her heart (as indeed she did",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:22.196318",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:40:48.602803",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly identifies the type as 'punctuation', which matches the ground truth edit type. For text content accuracy, the corrected text 'heart, so' in both the ground truth and prediction shows the same essential punctuation change, from 'heart so' to 'heart, so'. The prediction successfully captures the core change of adding a comma after 'heart', thereby correctly interpreting the ground truth's intention with respect to the text content. Therefore, the prediction is correct based on both the type and text content accuracy criteria."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in his own",
            "corrected_text": "in his own",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him",
            "corrected_text": "indeed thanked him",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart (as she",
            "corrected_text": "heart, (as she",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:25.408332",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:06.365911",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the criteria provided. Firstly, the 'edit type' matches exactly as both are classified as 'punctuation' edits. This is crucial and satisfies the first criterion for accuracy. Secondly, the 'text content accuracy' is also met as the core change identified in the ground truth ('heart so' to 'heart, so') is exactly replicated in the predicted edit. This demonstrates that the essential change \u2014 the insertion of a comma \u2014 is correctly captured. The prediction also correctly identifies the phrase 'heart so' being altered to 'heart, so', thus fulfilling the requirement to focus on the core change. Since both the edit type and text content requirements are met, the prediction is considered correct. The line number is intentionally ignored as per the instructions, and hence does not affect the decision."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in his own",
            "corrected_text": "in his own",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did",
            "corrected_text": "thanked him from her heart (as indeed she did",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness) she",
            "corrected_text": "ness), she",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:26.909738",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:40:53.384546",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 16,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the criteria provided. \n\n1. **Edit Type Accuracy**: Both the ground truth and the predicted edit list the type as 'punctuation'. This matches precisely, satisfying the requirement for edit type accuracy.\n\n2. **Text Content Accuracy**: The core change identified by both the ground truth and the prediction is an insertion of a comma in the phrase 'hers and' to become 'hers, and'. The prediction matches this change exactly. Both the original text ('hers and') and the corrected text ('hers, and') are identical between the ground truth and the prediction, indicating that the essential edit was captured accurately.\n\nThe specific line number is intentionally disregarded as instructed, thus not affecting the evaluation. Given these points, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The prediction captures the intention of the ground truth edit accurately for both criteria. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit have the type 'punctuation', indicating that the nature of the changes made is aimed at adding or altering punctuation. \n\n2. Text Content Accuracy: The predicted edit correctly modifies 'hers matters' to 'hers, matters', which aligns with the core change indicated by the ground truth. Even though line numbers differ, they are explicitly ignored for this evaluation. Both versions show the insertion of a comma between 'hers' and 'matters', accurately capturing the essential change required by the ground truth edit. Thus, the prediction is correct in terms of text content as well."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:31.462547",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:40:52.152975",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 16,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit matches the ground truth  precisely in terms of both edit type and text content. The edit type is 'punctuation' in both the ground truth and predicted edit, indicating that both aim to adjust punctuation. For the text content accuracy, both the ground truth and predicted edits change 'hers and' to 'hers, and,' correctly capturing the core change, which is the insertion of a comma after 'hers'. As edit type and text content precisely match the intended change in the ground truth, the predicted edit is deemed correct. The line number difference is explicitly ignored as per the evaluation instructions."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit accurately matches the intention of the ground truth edit. Both the ground truth and the prediction specify the same edit type, 'punctuation'. This ensures the type correspondence is correct. Additionally, the text content accuracy is satisfied as both edits involve correcting 'hers matters' to 'hers, matters'. The core change in the text content, the insertion of a comma, is precisely captured in the prediction. Other details such as line numbers are irrelevant based on the specified criteria, and thus, do not impact the accuracy of the prediction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:35.952890",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:40:56.251525",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 16,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit matches the ground truth in both edit type and text content. First, the edit type is 'punctuation' in both the ground truth and prediction, which confirms edit type accuracy. Second, the text content change from 'hers and' to 'hers, and' is identical in both the ground truth and the prediction. The core punctuation change is correctly captured, with a comma being inserted after 'hers'. Since the essential edit\u2014the punctuation modification\u2014is captured accurately, the prediction is considered correct. Differences in line numbers are ignored as per the instructions, focusing only on the crucial elements of the change itself."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit is correct based on the criteria provided. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, which matches exactly. Secondly, the text content accuracy is also achieved. The essential change from 'hers matters' to 'hers, matters' is correctly captured in both the ground truth and the prediction. The core punctuation change, the insertion of a comma after 'hers', is accurately reflected. Since both the type and the essential text change match the ground truth's intention, the prediction is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:43.613797",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:24.239306",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:45.127704",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:29.376149",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit matches the ground truth in both the edit type and the text content. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit identify the type as 'punctuation'. This is a direct match, and fulfills the criterion that the edit type must match exactly.\n\n2. Text Content Accuracy: The core change in the ground truth is the insertion of a comma after the word 'shore', changing 'shore and' to 'shore, and'. The predicted edit correctly identifies this same punctuation insertion, transforming 'shore and' to 'shore, and'. The context around the change\u2014that is, the words 'shore and'\u2014is equivalent in both the ground truth and the prediction. Therefore, the essential punctuation modification is captured correctly.\n\nAs both the edit type and the text content align with the ground truth's intention, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:51.334345",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:25.024062",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit matches the ground truth in terms of both edit type and text content. \n\n1. Edit Type Accuracy: Both the ground truth and the prediction categorize the edit as a 'punctuation' change. Therefore, the edit type accuracy criterion is satisfied.\n\n2. Text Content Accuracy: The core change required by the ground truth is inserting a comma in 'shore and' to become 'shore, and'. The predicted edit reflects this same punctuation change. The surrounding context ('shore and') is consistent across both the ground truth and the prediction, and it captures the essential change accurately. \n\nTherefore, ignoring line numbers as instructed, both criteria are met, making the prediction correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:44:12.657957",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:31.106308",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the criteria provided. Both the edit type and text content are accurate. \n\n1. Edit Type Accuracy: The edit type in the prediction is 'punctuation', which matches exactly with the ground truth edit type. Both are aligned in terms of identifying the nature of the change.\n\n2. Text Content Accuracy: The core change identified by the ground truth is the addition of a period at the end of the word 'DREAMING', transforming 'DREAMING' to 'DREAMING.'. The predicted edit also shows this exact change. The essential edit (adding the period) is correctly captured, and no additional or missing changes are present.\n\nTherefore, since both criteria are met, the prediction is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the two criteria provided. First, the edit type is 'capitalization' in both the ground truth and the prediction, indicating the change is related to the capitalization of a word, which matches exactly. Second, for text content accuracy, both the ground truth and predicted edits specify the change from 'city' to 'City', capturing the core change - the capitalization of the word 'city'. Since both the type and the essential text change are accurately matched, the prediction is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 6,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit based on both criteria. Firstly, the edit type is 'replacement', which matches the ground truth's specified edit type exactly. Secondly, the text content accuracy is upheld as well: both the ground truth and predicted edit indicate changing the text 'of' to 'to'. This captures the core change specified by the ground truth. The inclusion of line numbers in the predicted edit is ignored as per the provided instructions; hence, it does not affect the evaluation of the text content accuracy. Therefore, both criteria are satisfied, making the prediction correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The evaluation focuses on two main criteria: Edit Type Accuracy and Text Content Accuracy, with the instruction to ignore line numbers.\n\n1. Edit Type Accuracy: Both the ground truth edit and the predicted edit are classified as 'punctuation'. This means the prediction matches the ground truth in terms of the type of edit specified, fulfilling the first criterion.\n\n2. Text Content Accuracy: The ground truth indicates a change from 'them,' to 'them;'. The predicted edit captures this change identically, shifting the punctuation from a comma to a semicolon after 'them'. As such, the CORE change intended by the ground truth is accurately reflected in the prediction.\n\nAs both criteria are satisfied, the predicted edit is deemed correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 17,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The evaluation involves checking the edit type and text content accuracy against the ground truth. Both the ground truth and the predicted edit have the same edit type 'punctuation', which satisfies the first criterion. For text content accuracy, the core change in the ground truth is adding a comma after 'existence', changing it from 'existence' to 'existence,'. The predicted edit introduces the same core change by converting 'existence at' to 'existence, at'. The essential edit of inserting a comma after 'existence' is accurately captured. Therefore, the prediction meets both criteria of correct edit type and capturing the essential edit correctly in the text content."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "it, to",
            "corrected_text": "it; to",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: The predicted edit is of type 'punctuation', which matches the ground truth edit type. Therefore, this criterion is satisfied. 2. Text Content Accuracy: The ground truth indicates a punctuation change from 'it,' to 'it;'. The prediction shows a change from 'it, to' to 'it; to'. Although the predicted edit includes additional context, the core change (replacing the comma with a semicolon after 'it') is correctly captured. Therefore, the essential edit is accurately reflected in the prediction, fulfilling the requirement. Given both criteria are met, the prediction is evaluated as correct."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly identifies the edit type as 'punctuation', which matches the ground truth. For text content accuracy, both the ground truth and the prediction involve adding a comma after the word 'motionless'. The prediction includes additional context 'when', but this extra text does not affect the correctness of capturing the core change, which is adding a comma after 'motionless'. Thus, the prediction satisfies both the edit type and text content accuracy requirements, making it a correct interpretation of the ground truth edit."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "stand-still, to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 19,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation,' which is an exact match. Therefore, the predicted edit meets the edit type criterion.\n\n2. Text Content Accuracy: The core change identified in the ground truth is the punctuation change from a comma to a semicolon after 'stand-still'. The predicted edit captures this essential change, replacing the comma with a semicolon after 'stand-still'. Although the predicted edit includes additional context ('to'), it still accurately reflects the core correction intention of the ground truth. The inclusion of the additional text does not interfere with or alter the understanding of the core punctuation edit; thus, the text content criterion is also met.\n\nSince both criteria are satisfied, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 19,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation'. This matches exactly, satisfying the criterion for edit type accuracy. \n\n2. Text Content Accuracy: The core change in the ground truth is the addition of a comma after 'view', transforming 'view' into 'view,'. The predicted edit similarly captures the essence of this change by adding a comma after 'view', transforming 'view by' into 'view, by'. The additional context 'by' is permissible as per the text content accuracy criterion, as it does not alter the core change, which is the insertion of the comma. Therefore, the text content accuracy criterion is also satisfied. \n\nBoth criteria are met, so the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "existence, is",
            "corrected_text": "existence; is",
            "observed_line_number": 21,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit is correct according to both the edit type and text content accuracy criteria. First, the edit type 'punctuation' matches exactly between the ground truth and the predicted edit. Second, although the predicted edit includes more context ('existence, is' \u2192 'existence; is'), the core change ('existence,' \u2192 'existence;') is accurately captured, matching the ground truth's punctuation change from a comma to a semicolon. Therefore, the essential edit has been correctly recognized in the predicted edit."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:43:59.703905",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:35.529653",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the core change identified by the ground truth edit. Firstly, both the ground truth and the predicted edit specify the edit type as 'punctuation', which is an exact match. Secondly, the text content accuracy criterion is satisfied because the core change specified by the ground truth\u2014adding a period to the end of 'DREAMING' to make it 'DREAMING.'\u2014is precisely captured in the predicted edit. There are no discrepancies in the original and corrected text between the ground truth and prediction. The line number is to be ignored, and all other aspects of the edit are perfectly aligned, meeting the criteria for correctness in both edit type and text content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is correct based on the evaluation criteria outlined. Firstly, the edit type accuracy is maintained: both the ground truth and the predicted edit identify the type as 'capitalization', which correctly captures the nature of the change. Secondly, the text content accuracy is achieved as well: both the ground truth and the predicted edit involve the change of 'city' to 'City', with both capturing the essential change (the transformation from a lowercase to an uppercase 'C'). The prediction aligns perfectly with the ground truth in terms of both the type of edit and the content that was corrected. Therefore, the predicted edit is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 6,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit matches the ground truth edit in both criteria required for evaluation. Firstly, the edit type is 'replacement' in both the ground truth and the prediction, ensuring edit type accuracy. Secondly, the text content accuracy is fulfilled as the core change from 'of' to 'to' is captured precisely in both the ground truth and the prediction. The essential change\u2014the replacement of 'of' with 'to'\u2014is the same in both, reflecting the intention correctly. Thus, ignoring line numbers, the predicted edit is accurate."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly matches the ground truth edit in both aspects required for evaluation. First, the 'edit type' between the ground truth and the prediction is consistent as both are identified as a 'punctuation' change. This fulfills the first criterion of matching edit types. Second, the 'text content accuracy' is also satisfied by the prediction. The transformation from 'them,' to 'them;' accurately reflects the same modification as stipulated in the ground truth. Both prediction and ground truth focus on changing the punctuation mark from a comma to a semicolon, which is the core change being evaluated. The change is captured correctly irrespective of the difference in line numbers, which should be disregarded in this evaluation. Hence, both criteria for accuracy are met, leading to a correct prediction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "xxix",
            "corrected_text": "xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:44:02.521185",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:50.790724",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Both the edit type and the text content match perfectly.\\n\\n1. Edit Type Accuracy: The type is 'punctuation' in both the ground truth and the predicted edit, indicating that the correction involves a punctuation change. This satisfies the requirement for edit type accuracy.\\n\\n2. Text Content Accuracy: The original and corrected text in both the ground truth and the prediction are identical - 'DREAMING' becomes 'DREAMING.' The core change, which is the addition of a period after the word 'DREAMING', is captured accurately.\\n\\nSince both the edit type and the text content are aligned with the ground truth, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately matches the ground truth edit in both the edit type and the text content. The edit type is 'capitalization' in both cases, which is precise and appropriate given the change from 'city' to 'City'. The text content accuracy is upheld as well, as both the ground truth and the prediction focus on the capitalization correction by changing 'city' to 'City'. There are no discrepancies between the original and corrected text in both records. Since both key criteria are met, the prediction is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 6,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit matches the ground truth edit in terms of both edit type and text content. Focusing on the criteria of evaluation: \n\n1. **Edit Type Accuracy**: Both the ground truth and predicted edit types are 'replacement', which implies changing one piece of text for another. Since this matches, the edit type is accurate.\n\n2. **Text Content Accuracy**: The essential change identified in both the ground truth and predicted edits is replacing the word 'of' with 'to'. This exact replacement has been captured correctly in the predicted edit. Both edits also reflect the same correction intended by the ground truth, without any deviation in the text content. \n\nThe line numbers are explicitly ignored in this evaluation according to the guidelines provided. \n\nThus, the prediction accurately captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit is correct according to the given criteria. 1. Edit Type Accuracy: Both the ground truth and the predicted edit are labeled as 'punctuation', which matches exactly. Therefore, the prediction meets the requirement for edit type accuracy. 2. Text Content Accuracy: The core change identified in both the ground truth and the predicted edit is the replacement of a comma with a semicolon in the text 'them,'. Both versions change 'them,' to 'them;'. This captures the essential edit identified in the ground truth, irrespective of any additional context that may be present. Therefore, the prediction meets the requirement for text content accuracy. Since both edit type and text content match the intention of the ground truth, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to",
            "corrected_text": "it; to",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still, to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence, is",
            "corrected_text": "existence; is",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:44:02.601737",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:33.820445",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam \"not",
            "corrected_text": "Clennam; \"not",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the change required from the ground truth. \n\n1. **Edit Type Accuracy:** Both the ground truth and the predicted edit specify the edit type as 'punctuation'. This matches exactly, meeting the criteria for edit type accuracy.\n\n2. **Text Content Accuracy:** The core change in the ground truth is the transformation of 'Clennam:' to 'Clennam;'. The predicted edit effectively captures this same core change by transforming 'Clennam \"not' into 'Clennam; \"not', thereby implementing the change from ':' to ';' directly after 'Clennam'. The additional context (' \"not') before and after the edit location does not detract from the fact that the essential punctuation change is correctly captured in the prediction.\n\nOverall, the prediction is accurate as it matches both the edit type and correctly implements the essential change described in the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts.",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit and the ground truth edit both specify the edit type as 'replacement,' which matches in this case. For text content accuracy, while the predicted 'original_text' omits the word 'of' from the ground truth 'original_text', it still captures the CORE textual change by accurately correcting 'dryest snorts.' to 'driest of snorts.'. The essential part being the change of 'dryest' to 'driest' with the addition of 'of'. Therefore, the predicted edit correctly captures the intention of the ground truth edit, satisfying both the criteria for evaluating the accuracy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 33,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the criteria provided. Both the ground truth and predicted edits have the same 'italicize' type, which ensures Edit Type Accuracy. For Text Content Accuracy, both the original text and corrected text are 'him,' matching the core change indicated by the ground truth. The line number differences are explicitly ignored as instructed, and both the ground truth and prediction apply the same formatting change to the same word. Therefore, the prediction is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "been a premature.",
            "corrected_text": "been a little premature.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:44:08.407217",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:35.788045",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam \"not",
            "corrected_text": "Clennam; \"not",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the change in punctuation from colon ':' to semicolon ';', which matches the edit type 'punctuation' as specified in the ground truth. While the 'original_text' and 'corrected_text' fields in the predicted edit include additional context ('not' following 'Clennam'), the core change of replacing ':' with ';' is accurately captured. Since the edit type is the same and the essential punctuation change is correctly identified, the predicted edit aligns with the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts.",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit is correct because it matches the ground truth on both specified criteria. First, the edit type in both the ground truth and the prediction is 'replacement', so they match exactly in edit type. Second, considering text content accuracy, both the ground truth and the prediction capture the same essential change: replacing 'dryest' with 'driest of'. While the original text in the ground truth includes 'of the' before 'dryest snorts' and the predicted original text does not, this does not affect the core change, which is correctly captured. The additional context ('of the') included in the ground truth but not in the prediction does not alter the substance of the replacement. Therefore, the prediction is consistent with the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 33,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit successfully matches the ground truth in terms of edit type and text content accuracy. Both the ground truth and the predicted edit specify an 'italicize' action, indicating a match in edit type. Additionally, the core text affected, 'him,' is the same in both the original and corrected text fields for both the ground truth and the prediction. Given that the essential change is maintaining the word while denoting it should be italicized, and the prediction correctly captures this intent, the edit is deemed correct despite differing line numbers, which are explicitly ignored in this evaluation."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:44:13.099829",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:47.605159",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam \"not",
            "corrected_text": "Clennam; \"not",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the predicted edit are categorized as 'punctuation', so the edit type matches, meeting the first criterion. 2. Text Content Accuracy: The core change in both the ground truth and predicted edit is the punctuation change from a colon ':' to a semicolon ';'. The ground truth specifies a change from 'Clennam:' to 'Clennam;', while the predicted edit specifies a change from 'Clennam \"not' to 'Clennam; \"not'. While the predicted edit includes additional context ('\"not'), it captures the essential change of replacing the colon with a semicolon accurately. Therefore, the predicted edit correctly captures the intent of the ground truth edit. Based on these evaluations, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 33,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit based on both criteria: \n\n1. **Edit Type Accuracy**: The edit type in the prediction is 'italicize', which exactly matches the edit type 'italicize' in the ground truth. This satisfies the requirement for matching edit types. \n\n2. **Text Content Accuracy**: The text content in the ground truth is 'him', which matches the text content in the prediction ('him'). Both the original text and the corrected text are identical between the ground truth and the predicted edit. This demonstrates that the CORE change, which is the italicization of the word 'him', is correctly captured in the prediction.\n\nConsidering both these elements, the predicted edit is deemed correct as it fulfills the requirements set out for matching the ground truth edit's intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts.",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:44:14.346245",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:56.094392",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in both criteria evaluated. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, which satisfies the first criterion of edit type accuracy. Secondly, regarding text content accuracy, the essential change in the ground truth is the insertion of a comma after 'For,' resulting in 'For, Mr. Pancks.' The prediction captures this essential change with 'For,' resulting in 'For, Mr.' While the predicted text includes a slightly smaller context ('For Mr.' vs. 'For Mr. Pancks'), the core punctuation change of adding a comma is accurately captured. Thus, both the type and the intended punctuation edit are correctly represented in the prediction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit accurately captures the ground truth edit according to the given criteria. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit specify the type as 'punctuation'. Therefore, the edit type matches exactly.\n\n2. Text Content Accuracy: The essence of both edits is the insertion of a comma after the word 'quickly' in 'quickly that', resulting in 'quickly, that'. The actual change\u2014a punctuation insertion\u2014is correctly identified in both the ground truth and the prediction, focusing on the core change. The criteria allow for additional context, which is absent here, making the content alignment undoubtedly correct.\n\nGiven these considerations, the prediction is deemed correct in capturing the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me; not",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:44:15.239755",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:41:55.881061",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The evaluation has two main criteria: edit type accuracy and text content accuracy. \n\n1. **Edit Type Accuracy**: Both the ground truth and predicted edit classify the change as 'punctuation'. They match exactly, satisfying this criterion. \n\n2. **Text Content Accuracy**: The core change from both ground truth and predicted edit is the insertion of a comma after the word 'For'. The ground truth shows this change in the context of 'For Mr. Pancks' to 'For, Mr. Pancks', while the prediction shows this change in 'For Mr.' to 'For, Mr.'. The essential punctuation change\u2014a comma insertion after 'For'\u2014is accurately captured in both cases. The text content accuracy is therefore also satisfied.\n\nGiven that both edit type and text content criteria are met, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly identifies the type of edit as 'punctuation', which matches the ground truth edit type. Additionally, the text content in both the ground truth and the predicted edit is the same; they both change 'quickly that' to 'quickly, that'. The core change, which is the insertion of a comma after 'quickly', is accurately captured by the prediction. Although the line numbers differ, according to the evaluation criteria, line numbers should be ignored in this assessment. Therefore, the prediction fully matches the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me; not",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_1_pro_preview",
        "date": "2026-02-22T13:44:19.710995",
        "annotator": "Gemini 3.1 Pro Preview",
        "annotation_date": "2026-02-22T13:42:00.876148",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation', which matches exactly. This criterion is satisfied. \n\n2. Text Content Accuracy: The core change in the ground truth is the insertion of a comma after 'For' to change 'For Mr. Pancks' to 'For, Mr. Pancks'. The predicted edit shows 'For Mr.' changing to 'For, Mr.' which captures the same core change, the addition of a comma after 'For'. Thus, the essential change is accurately captured by the prediction. \n\nOverall, both criteria are met, making the predicted edit a correct match with the intention of the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit matches the ground truth edit in both criteria required for evaluation. Firstly, the edit type is 'punctuation' in both the predicted and ground truth edits, which satisfies the requirement for edit type accuracy. Secondly, the text content accuracy is addressed as the predicted edit captures the core change indicated by the ground truth, which is the insertion of a comma in 'quickly that' to make it 'quickly, that'. The line number difference is explicitly instructed to be ignored in this evaluation. Therefore, the predicted edit correctly reflects the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "making me not",
            "corrected_text": "making me a not",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Google",
    "release_date": "2026-02-19",
    "release_notes": "Release date taken from Google's official Gemini 3.1 announcement."
  },
  {
    "model_name": "Gemini 3.5 Flash",
    "model_id": "or_gemini_3_5_flash",
    "date": "2026-07-23T15:31:16.017910",
    "shots": 2,
    "config": {
      "model_id": "or_gemini_3_5_flash",
      "display_name": "Gemini 3.5 Flash",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Gemini 3.5 Flash",
    "annotation_date": "2026-07-23T11:26:21.683058",
    "file_results": [
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:28:32.913885",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:26:21.683058",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core intended punctuation change is identical in the prediction and the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"pockets and\" to \"pockets, and\" (inserting a comma after \"pockets\"). The core punctuation change is identical. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:28:31.797364",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T12:38:30.992346",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change: insertion of a comma after \"howling\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"yonder to-day\" and the same corrected text \"yonder, to-day\", capturing the identical core change (insertion of a comma after \"yonder\"). Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change, inserting a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The original and corrected text strings match exactly, capturing the intended punctuation insertion."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:28:34.713015",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T13:39:27.894115",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core intended punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original segment \"howling over\" and the same correction \"howling, over,\" inserting a comma after \"howling.\" The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same correction (\"yonder, to-day\"), inserting a comma after \"yonder\". The core punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"pockets and\" to \"pockets, and\", inserting a comma after \"pockets\". This captures the identical core change with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:28:36.714420",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:26:12.556391",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction captures the same core change by capitalizing \"why\" \u2192 \"Why\". Although it includes less surrounding context, it still represents the essential intended correction (capitalizing the initial \"why\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation point to a question mark (\"cold stones!\" \u2192 \"cold stones?\"). The prediction captures the same core change on the same word/phrase ending (\"stones!\" \u2192 \"stones?\"). Although it omits the preceding word \"cold,\" it still correctly represents the essential intended edit: replacing \"!\" with \"?\" at the end of the phrase."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:28:27.040643",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T12:38:38.627128",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word in the phrase: \"why did he dine\" \u2192 \"Why did he dine\". The prediction captures the same core change by editing \"why\" \u2192 \"Why\". Although it provides less surrounding context, it still represents the essential intended correction (capitalizing \"why\"). Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!'",
            "corrected_text": "stones?'",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:28:25.832534",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T13:39:28.160144",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word \"why\" in the phrase \"why did he dine\" to \"Why did he dine.\" The predicted edit changes \"why\" \u2192 \"Why,\" which captures the core and essential change (capitalizing the first word). Although it provides less surrounding context than the ground truth, it still reflects the same intended capitalization correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:28:31.129987",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:26:19.746143",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial word from \"if\" to \"If\" in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same core change by capitalizing \"if\" \u2192 \"If\". Although it omits the following word (\"he\"), this is acceptable additional/less context and does not change the essential correction.\n\nTherefore, the predicted edit correctly reflects the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core change by replacing \"said\" \u2192 \"asked\"; it simply omits the surrounding context (\"Clennam\"), which is allowed as long as the essential change is correct. Therefore, the prediction matches the ground truth\u2019s intended correction."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:28:39.903071",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T12:38:40.031525",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"if\" in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same essential change by converting \"if\" \u2192 \"If\" (with less surrounding context). Since the core correction is the capitalization of \"if,\" the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n2) Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution \"said\" \u2192 \"asked\" (omitting the surrounding context \"Clennam\"), which is acceptable because the essential intended change is correctly represented."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:28:38.306281",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T13:39:26.389618",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same essential change by capitalizing \"if\" \u2192 \"If.\" Although it omits the following word \"he\" from the original/corrected text span, the core intended correction (capitalizing the word \"if\") is accurately represented, and reduced context is acceptable under the rubric."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution \"said\" \u2192 \"asked\" but omits the surrounding context (\"Clennam\"). Since the essential intended change is the word replacement itself, the prediction correctly reflects the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:35.481046",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:26:34.627144",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same change: inserting a comma to turn \"about and\" into \"about, and\". The core intended punctuation correction is captured exactly with identical original and corrected text.\n\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth. 2) Text Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly.\" The core change is captured identically with no discrepancies."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original span \"said when\" and the same correction \"said, when\", capturing the identical core change (inserting a comma after \"said\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Clennam in\" to \"Clennam, in\", correctly capturing the intended insertion of a comma after \"Clennam\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "association,",
            "corrected_text": "association",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said;",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:19.539815",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T12:38:30.701767",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original phrase \"high road\" and the same correction \"high-road\", capturing the identical core change (inserting a hyphen). No mismatch in content or intent is present.\n\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both identify the same original text (\"materials costing\") and the same correction (\"materials, costing\"), i.e., inserting a comma after \"materials\". This captures the core intended change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"about\" in the phrase \"about and\" to become \"about, and\". The original and corrected text strings match the ground truth\u2019s intended punctuation change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 20,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". The core correction is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"said when\" to \"said, when\", inserting a comma after \"said\". This captures the same core punctuation correction. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"said\" to \"said,\", capturing the same core punctuation correction (adding a comma after \"said\"). Line number differences are to be ignored, so the textual change aligns fully with the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the core intended change of inserting a comma after \"Clennam\". Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:29.230859",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T13:39:45.406144",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"high road\") and the same correction (\"high-road\"), capturing the identical core change (inserting a hyphen). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change \"about and\" to \"about, and\", inserting a comma after \"about\". The core change is identical, with no discrepancy in original or corrected text. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". The core punctuation change is identical, with no discrepancies."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"said when\" to \"said, when,\" inserting a comma after \"said.\" This captures the exact core punctuation correction intended."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same correction (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam\". Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said;",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:08.680015",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:26:19.753877",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:12.219139",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T12:38:26.318404",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:13.405997",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T13:39:28.456014",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:31.267188",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:26:31.331524",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change\u2014adding a comma after \"dull\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core textual change is identical in the prediction and the ground truth.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"man slowly\" to \"man, slowly\", inserting a comma after \"man\". The essential punctuation change is captured identically."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the intended insertion of a comma after \"Chalons\". Therefore the core change matches the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE.",
            "corrected_text": "LET LOOSE,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:30.064254",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T12:41:46.243294",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"man\" in the phrase \"man slowly\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction captures the same core punctuation change by editing \"man\" \u2192 \"man,\". Although it omits the following word \"slowly\" from the context, it still reflects the essential intended correction: adding a comma immediately after \"man\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was.\" The predicted edit \"Chalons\" \u2192 \"Chalons,\" captures the same core punctuation change (adding a comma immediately after \"Chalons\"). Although the prediction includes less surrounding context, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "sodded",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:37.146765",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T13:39:51.239319",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the types match exactly. Text Content Accuracy: Both change the original text \"Saone\" to the corrected text \"Sa\u00f4ne\" (adding the circumflex on \u00f4). The core intended change is captured identically. Therefore, the predicted edit matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly\". The predicted edit \"man\" \u2192 \"man,\" captures the same essential punctuation insertion at the correct location (after \"man\"), even though it includes less surrounding context. This still matches the core intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was.\" The predicted edit \"Chalons\" \u2192 \"Chalons,\" captures the same core punctuation change (adding a comma immediately after \"Chalons\"). Although it omits the following word \"was\" as context, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "sodded",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:51.027677",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:26:34.992886",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core correction, changing \"heart so\" to \"heart, so\" by inserting a comma after \"heart.\" The essential edit is identical."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"length said\" to \"length, said\", inserting a comma after \"length\". The core punctuation change is identical. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so;",
            "corrected_text": "I hoped so;",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change is converting \"I hope so\" to \"I hoped so\" (present tense to past tense). The predicted edit captures this same change. The inclusion of a semicolon in both the predicted original and corrected text is additional surrounding context and does not alter the essential replacement being made (since the punctuation is unchanged in the prediction). Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "ness),",
            "corrected_text": "ness,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "(as",
            "corrected_text": "as",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:51.369889",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T12:38:52.139234",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length",
            "corrected_text": "length,",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"length\" in the phrase \"length said\" \u2192 \"length, said\". The predicted edit \"length\" \u2192 \"length,\" captures the same core punctuation change (adding a comma immediately after \"length\"). Although it omits the following word \"said\" as context, the essential intended correction is still correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope so",
            "corrected_text": "hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"I hope so\" to \"I hoped so\", i.e., the core intended change is converting the verb \"hope\" to past tense \"hoped\" while keeping \"so\". The prediction changes \"hope so\" to \"hoped so\", which captures that same essential transformation. Although it omits the leading \"I\" from both the original and corrected spans, it still correctly represents the core correction (hope \u2192 hoped) and does not alter the intent of the edit.\n\nTherefore, the predicted edit correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes",
            "corrected_text": "eyes,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart (as",
            "corrected_text": "heart, as",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness), she",
            "corrected_text": "ness, she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous",
            "corrected_text": "generous,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:29:54.295601",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T13:39:51.515610",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length",
            "corrected_text": "length,",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"length\" in the phrase \"length said\" (i.e., \"length, said\"). The prediction performs the same core change by converting \"length\" to \"length,\". Although it omits the following word \"said\" from the edit span, it still captures the essential punctuation insertion at the correct location. Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb phrase from present to past tense: \"I hope so\" \u2192 \"I hoped so\". The prediction captures the same core modification by replacing \"hope\" with \"hoped\". Although it includes less surrounding context (only the changed word rather than the full phrase), it accurately reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes",
            "corrected_text": "eyes,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart",
            "corrected_text": "heart indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "ness),",
            "corrected_text": "ness,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous",
            "corrected_text": "generous,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "(as",
            "corrected_text": "as",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:15.026594",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:27:08.060530",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and.\" The predicted edit \"hers\" \u2192 \"hers,\" captures the same core punctuation change (adding a comma immediately after \"hers\"). Although it omits the following word \"and\" as context, it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"hers\" in the phrase \"hers matters\" \u2192 \"hers, matters.\" The prediction captures the same core change by editing \"hers\" \u2192 \"hers,\", which is the essential punctuation insertion, just with less surrounding context. Therefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"moment with\" to \"moment, with,\" which is effectively inserting a comma after the word \"moment.\" The predicted edit changes \"moment\" to \"moment,\", which captures the same core punctuation insertion. The prediction includes less surrounding context (it omits \"with\"), but it still represents the essential intended change: adding a comma immediately after \"moment.\""
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that\". The predicted edit \"beautiful\" \u2192 \"beautiful,\" captures the same core punctuation change (adding a comma immediately after \"beautiful\"). Although it includes less surrounding context (omits \"that\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"they\" is corrected to \"They\". The essential capitalization correction is captured precisely with no discrepancy."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "papa",
            "corrected_text": "Papa",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:10.937418",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T14:54:48.354114",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and\". The core punctuation correction is captured identically.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"hers matters\" to \"hers, matters\", inserting a comma after \"hers\". The core intended change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction have the type set to \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The original and corrected text match the ground truth\u2019s core intended change precisely."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same corrected text (\"beautiful, that\"), capturing the identical core change\u2014adding a comma after \"beautiful\". Therefore the predicted edit correctly matches the ground truth intent."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "papa",
            "corrected_text": "Papa",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:13.376017",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T13:40:14.661410",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"hers\" in the phrase \"hers and\" to become \"hers, and.\" The original and corrected texts match precisely, capturing the intended punctuation edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"hers matters\" to \"hers, matters\", inserting a comma after \"hers\". The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The core punctuation correction is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same correction (\"beautiful, that\"), inserting a comma after \"beautiful\". The core punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change the exact same token from \"they\" to \"They,\" capturing the core intended capitalization correction with no deviation.\nTherefore, the prediction correctly matches the ground truth edit."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:19.063571",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:27:07.974067",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"shore and\" \u2192 \"shore, and\", inserting a comma after \"shore\". This captures the identical core change with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". The core intended change is identical in the prediction and the ground truth. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:22.902127",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T12:39:22.897954",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change of inserting a comma after \"shore.\" Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"that\" to \"than\". The predicted edit changes \"that once\" to \"than once\", which includes extra surrounding context (\"once\") but preserves the same core correction: replacing \"that\" with \"than\". Therefore, the prediction captures the essential intended change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:40.952853",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T13:40:14.427850",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"shore\" (changing \"shore and\" to \"shore, and\"). The prediction changes \"shore\" to \"shore,\" which captures the same core punctuation insertion at the correct location. Although it omits the following word \"and\" from the edit span, it still reflects the essential intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". The core change is identical, with no discrepancies in the intended correction. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy",
            "corrected_text": "fancy,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cThank you,\u201d",
            "corrected_text": "\u201cThank you,\u201d",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:41.728934",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:29:37.619654",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits have the type \"capitalization\", so the type matches exactly. Text Content Accuracy: Both specify the same core change from \"city\" to \"City\". There is no difference in original or corrected text, so the essential edit is captured correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change: \"them,\" \u2192 \"them;\". No substantive difference in the actual edit content. Line number differences are to be ignored, so this does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both edits change \"existence\" to \"existence,\" by adding a comma immediately after the word. This captures the core intended correction with no discrepancy in the text change.\nLine numbers are ignored per instructions, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are of type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change: \"it,\" \u2192 \"it;\". The essential correction (comma replaced with semicolon) is captured exactly. Line numbers are to be ignored, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after \"motionless\" (\"motionless\" \u2192 \"motionless,\"). This captures the ground truth intention precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change \"stand-still,\" to \"stand-still;\", capturing the same core punctuation correction (comma to semicolon) with identical original and corrected text. Line number differences are ignored as instructed, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"view\" to \"view,\" by adding a comma immediately after the word. This captures the same core correction. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"existence,\" to \"existence;\"\u2014the same original text and the same corrected text. This captures the core intended punctuation change precisely. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring",
            "corrected_text": "to",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:49.844730",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T12:39:23.174922",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth change is \"city\" \u2192 \"City\" (capitalizing the first letter). The predicted edit shows the same original and corrected text, capturing the exact core change with no deviation.\n\nTherefore, both criteria are satisfied."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both replace the original text \"of\" with the corrected text \"to\", capturing the same core change with no discrepancy. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). There is no discrepancy in the text being modified or the resulting corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"motionless\" to \"motionless,\" by adding a comma. The core change is identical, with no discrepancies in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"view\" is corrected to \"view,\" by adding a comma after the word. The essential punctuation change is captured identically.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:53.939231",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T13:40:32.498143",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same change from \"city\" to \"City\". The core correction (capitalizing the first letter) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"them,\" to \"them;\"\u2014the same core punctuation replacement (comma to semicolon) with identical original and corrected text. Therefore, the prediction fully matches the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after \"existence\" (\"existence\" \u2192 \"existence,\"). The corrected text matches the ground truth exactly. Therefore, the prediction captures the intended edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing \"it,\" with \"it;\". The original_text and corrected_text match the ground truth exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, adding a comma after the word (\"motionless\" \u2192 \"motionless,\"). The essential edit is captured identically. Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core punctuation change from \"stand-still,\" to \"stand-still;\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"view\" to \"view,\" (adding a comma). The core intended punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"existence,\" to \"existence;\". The core intended punctuation replacement (comma to semicolon) is captured identically. Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "recurring",
            "corrected_text": "return",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return",
            "corrected_text": "recurring",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liegelord",
            "corrected_text": "liege lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:54.097835",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:27:07.118067",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly. Text Content Accuracy: Both identify the same target text \"him\" with no change in characters, only a formatting change to italics, matching the ground truth\u2019s intended core change. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"now I\" to \"now, I\", inserting a comma after \"now\". The core change is identical, so the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as a \"replacement\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same change from \"authorize\" to \"authorise\". The core correction (American to British spelling) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boiling over",
            "corrected_text": "boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:43.622992",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T12:39:19.772448",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "been a",
            "corrected_text": "been, a",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:30:57.263510",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T14:58:09.259607",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly. 2) Text Content Accuracy: Both identify the same target text \"him\" and the corrected text remains \"him\" with the implied formatting change to italics. The prediction captures the same core change (apply italics) to the same word. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"now\" in the phrase \"now I\" to become \"now, I.\" The original and corrected texts are identical between ground truth and prediction, capturing the intended punctuation correction precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same substitution: \"authorize\" is replaced with \"authorise\". This captures the core intended change (American to British spelling) with identical original and corrected text.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:31:01.564182",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T11:26:58.266348",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma immediately after the word \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction captures the same core change by editing \"For\" \u2192 \"For,\". Although it omits the following words (\"Mr. Pancks\"), it still correctly represents the essential punctuation insertion at the correct location (after \"For\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"quickly\" in the phrase \"quickly that\" \u2192 \"quickly, that.\" The prediction applies the same core change by converting \"quickly\" \u2192 \"quickly,\". Although it includes less surrounding context (it omits \"that\"), it still captures the essential intended punctuation insertion at the correct location."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me,",
            "corrected_text": "me;",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:31:00.137880",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T12:39:18.367576",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\n2. Text Content Accuracy: The ground truth change is the insertion of a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change at the correct location. Therefore, the essential edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"quickly that\" to \"quickly, that,\" inserting a comma after \"quickly.\" The core punctuation change is captured precisely with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me",
            "corrected_text": "a",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_5_flash",
        "date": "2026-07-23T15:31:16.017910",
        "annotator": "Gemini 3.5 Flash",
        "annotation_date": "2026-07-23T13:40:05.208007",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it stops at \"Mr.\" and omits \"Pancks\"), it captures the core intended change: adding a comma immediately after \"For\" before \"Mr.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The essential punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me; not",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Google",
    "release_date": "2026-05-19",
    "release_source": "https://openrouter.ai/google/gemini-3.5-flash",
    "release_notes": "Release date taken from the OpenRouter listing; Gemini 3.5 Pro remained unreleased as of 2026-07-23."
  },
  {
    "model_name": "Gemini 3.5 Flash Lite",
    "model_id": "or_gemini_3_5_flash_lite",
    "date": "2026-07-23T15:59:51.982520",
    "shots": 2,
    "config": {
      "model_id": "or_gemini_3_5_flash_lite",
      "display_name": "Gemini 3.5 Flash Lite",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Gemini 3.5 Flash Lite",
    "annotation_date": "2026-07-23T12:22:01.177244",
    "file_results": [
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:57:59.680677",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:22:01.177244",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 19,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"pockets and\") and the same corrected text (\"pockets, and\"), capturing the identical core change\u2014adding a comma after \"pockets.\" Ignoring line numbers as instructed, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "travellers.",
            "corrected_text": "travellers,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling, over",
            "corrected_text": "howling over",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder, to-day",
            "corrected_text": "yonder to-day",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, sir",
            "corrected_text": "to-day-sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:57:49.125411",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:21:42.117791",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "travellers",
            "corrected_text": "travellers.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling, over",
            "corrected_text": "howling over",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder, to-day",
            "corrected_text": "yonder to-day",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, Sir",
            "corrected_text": "to-day Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:57:56.741450",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:22.635055",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth adds a period at the end of the phrase \"Fellow Travellers\" (i.e., after \"Travellers\"). The predicted edit adds a period to \"Travellers\" as well. Although the prediction omits the preceding word \"Fellow\" from the span it reports, it still captures the core intended change: inserting a period immediately after \"Travellers.\" Therefore, the essential punctuation correction is accurately represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and\". The original and corrected text strings match exactly, so the essential edit is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling, over",
            "corrected_text": "howling over",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder, to",
            "corrected_text": "yonder to",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "day, sir",
            "corrected_text": "day-sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:57:46.776909",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:21:56.635797",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:57:50.545520",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:21:41.256540",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ",",
            "corrected_text": "?",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:57:51.963979",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:19.128195",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "day,",
            "corrected_text": "day?",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:57:55.986912",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:21:53.778780",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 33,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text \"if he\" and the same corrected text \"If he,\" capturing the identical core change (capitalizing the initial 'i' to 'I'). Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes the verb phrase from \"said Clennam\" to \"asked Clennam\". The prediction captures the core intended change by replacing \"said\" with \"asked\"; the surrounding context (\"Clennam\") is unchanged in the ground truth and can be omitted without altering the essential correction. Therefore, the prediction matches the ground truth\u2019s intended textual change."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:57:46.774887",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:21:47.905850",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:57:56.763921",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:20.222022",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:23.753927",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:21:53.187379",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly,telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,",
            "corrected_text": "said,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam,in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials,costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about, and",
            "corrected_text": "about, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tionx",
            "corrected_text": "tion",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,when",
            "corrected_text": "said, when",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:31.176501",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:21:43.764505",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said)",
            "corrected_text": "said,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam,in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials,costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about,and",
            "corrected_text": "about, and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tionx",
            "corrected_text": "tion",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly,telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,when",
            "corrected_text": "said, when",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:21.751997",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:20.504871",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"high road\" to \"high-road\" (adding a hyphen). This captures the essential correction intended in the ground truth. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials, costing",
            "corrected_text": "materials; costing",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about, and",
            "corrected_text": "about and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly, telling",
            "corrected_text": "earnestly telling",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,",
            "corrected_text": "said,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, in",
            "corrected_text": "Clennam in",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tionx",
            "corrected_text": "tion",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said, when",
            "corrected_text": "said when",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:19.285164",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:21:59.300988",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core correction, adding a period to change \"Sun and Shadow\" to \"Sun and Shadow.\". The original and corrected texts match exactly, capturing the intended punctuation edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:15.785875",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:21:45.455632",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same core correction\u2014adding a period to change \"Sun and Shadow\" to \"Sun and Shadow.\". The original and corrected texts are identical between the two, so the intended punctuation edit is captured correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:19.629430",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:18.975583",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the identical core correction with no discrepancy. Therefore, the prediction correctly matches the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:29.789837",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:22:05.105125",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \u201cChalons\u201d in the phrase \u201cChalons was\u201d \u2192 \u201cChalons, was\u201d. The predicted edit \u201cChalons\u201d \u2192 \u201cChalons,\u201d captures the same core modification (adding a comma immediately after \u201cChalons\u201d), just with less surrounding context. This still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "A",
            "corrected_text": "A",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "sodden",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:19.147543",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:21:52.041254",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the same original text \"sodden\" with the same corrected text \"soddened.\" This captures the core intended change exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "stream,",
            "corrected_text": "stream,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream, like",
            "corrected_text": "stream, like,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "poplar-trees",
            "corrected_text": "poplar trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons, was",
            "corrected_text": "Chalons was",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:30.059798",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:20.972317",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \u201cChalons\u201d in the phrase \u201cChalons was\u201d \u2192 \u201cChalons, was.\u201d The predicted edit similarly changes \u201cChalons\u201d \u2192 \u201cChalons,\u201d which captures the same essential punctuation insertion (a comma immediately after \u201cChalons\u201d). Although the prediction includes less surrounding context (\u201cwas\u201d is omitted), it still represents the core intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "autumn night",
            "corrected_text": "autumn, night",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "stream,",
            "corrected_text": "stream^,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar-trees",
            "corrected_text": "poplar-trees^hyphen",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:44.271647",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:21:55.073417",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart, so",
            "corrected_text": "heart; so",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart,",
            "corrected_text": "heart, indeed,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length, said",
            "corrected_text": "",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "you.",
            "corrected_text": "you, I hoped so,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:46.303119",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:21:42.991837",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 33,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\nText Content Accuracy: Both edits replace the same original text \"I hope so\" with the same corrected text \"I hoped so\". This captures the core intended change (tense shift from present to past). Any line number discrepancy is to be ignored, so the content matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart, so",
            "corrected_text": "heart; so",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart (as",
            "corrected_text": "heart indeed (as",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length, said",
            "corrected_text": "length said",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "generousx",
            "corrected_text": "generous",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:41.834630",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:25.931213",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 35,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2. Text Content Accuracy: Both specify replacing \"I hope so\" with \"I hoped so\", capturing the same core change (tense shift from present to past). No discrepancy in the text content. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart, so",
            "corrected_text": "heart; so",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart (as",
            "corrected_text": "heart (indeed, as",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length, said",
            "corrected_text": "length said",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous. Mr.",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:52.003937",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:22:24.112075",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers, and",
            "corrected_text": "hers, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers, matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment, with",
            "corrected_text": "moment, with",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful, that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:58:51.776075",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:22:06.638549",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers, and",
            "corrected_text": "hers, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers, matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment, with",
            "corrected_text": "",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful, that",
            "corrected_text": "",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:02.891089",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:44.759198",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers, and",
            "corrected_text": "hers, and",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers, matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment, with",
            "corrected_text": "moment, with",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful, that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:17.094833",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:22:22.359278",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 23,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"shore\" in the phrase \"shore and\" (i.e., \"shore, and\"). The prediction captures the same essential change by converting \"shore\" to \"shore,\". Although it does not include the following word \"and\" in its original/corrected text spans, it still reflects the core intended punctuation insertion at the correct location (after \"shore\"). Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both change the original text \"that\" to the corrected text \"than\", which captures the core intended correction precisely. Line numbers are ignored per instructions, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "fancy",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "within-doors",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:21.579352",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:22:05.885094",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"shore\" (\"shore and\" \u2192 \"shore, and\"). The predicted edit also captures this core punctuation change by converting \"shore\" \u2192 \"shore,\". Although the prediction does not include the following word \"and\" in its original/corrected spans, it still reflects the essential intended correction: adding a comma immediately after \"shore.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". This captures the core intended change precisely. Line numbers are to be ignored and do not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you\"",
            "corrected_text": "you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "fancy,",
            "corrected_text": "fancy",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:20.911558",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:44.668005",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"shore\" in the phrase \"shore and\" \u2192 \"shore, and\". The prediction captures the same core change by editing \"shore\" \u2192 \"shore,\". Although it omits the following word \"and\" from the span, it still correctly represents the essential punctuation insertion at the correct location (after \"shore\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you\"",
            "corrected_text": "you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within",
            "corrected_text": "within-doors",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:26.762023",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:22:21.310156",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change the same word from \"city\" to \"City\", capturing the identical core capitalization change with no discrepancy.\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still;",
            "corrected_text": "stand-still,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring",
            "corrected_text": "to",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege",
            "corrected_text": "liege,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:22.834104",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:22:24.346657",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both identify the same core change: changing \"city\" to \"City\". There is no mismatch in original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still;",
            "corrected_text": "stand-still,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege,",
            "corrected_text": "liege",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "re-",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:28.052756",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:47.570807",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City.\" There is no discrepancy in the original or corrected text. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still;",
            "corrected_text": "stand-still,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "re",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege,",
            "corrected_text": "liege",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:27.418493",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:22:30.965000",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 37,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"now\" in the phrase \"now I\" \u2192 \"now, I\". The prediction captures the same core punctuation change by editing \"now\" \u2192 \"now,\". Although it does not include the following word \"I\", it still correctly represents the essential intended correction (adding a comma after \"now\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both replace the same original word \"authorize\" with the same corrected spelling \"authorise\". The core intended change is identical. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "been a",
            "corrected_text": "been a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:18.713791",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:22:13.715067",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest",
            "corrected_text": "dryest of",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "the",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:44.357684",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:48.256518",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 32,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"now\" in the phrase \"now I\" \u2192 \"now, I.\" The predicted edit \"now\" \u2192 \"now,\" captures the same essential punctuation insertion (a comma immediately after \"now\"). Although it includes less surrounding context (it omits the following \"I\"), it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 35,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the same original text \"authorize\" with the same corrected text \"authorise\". This captures the core intended change (American to British spelling). Line numbers are ignored as instructed, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest",
            "corrected_text": "dryest of",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "the",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:43.926981",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T12:22:28.407367",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 3,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The predicted edit also adds a comma after \"For\" (\"For\" \u2192 \"For,\"). Although the prediction includes less surrounding context, it captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"quickly\" (\"quickly that\" \u2192 \"quickly, that\"). The predicted edit similarly inserts a comma after \"quickly\" (\"quickly\" \u2192 \"quickly,\"). Although the prediction includes less surrounding context (it omits \"that\"), it captures the core intended punctuation change: adding a comma immediately after \"quickly\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bedkroom",
            "corrected_text": "bedroom",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me",
            "corrected_text": "me,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:51.982520",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T13:22:14.377429",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The prediction captures the same core punctuation edit by changing \"For\" \u2192 \"For,\" (adding the comma after \"For\"). Although it includes less surrounding context (it omits \"Mr. Pancks\"), it still reflects the essential intended modification."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"quickly\" in the phrase \"quickly that\" \u2192 \"quickly, that.\" The prediction captures the same core change by editing \"quickly\" \u2192 \"quickly,\", which is the essential punctuation insertion. Although it omits the following word \"that\" from the context, it still reflects the intended comma insertion at the correct location.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed",
            "corrected_text": "bed,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed",
            "corrected_text": "bed-",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me",
            "corrected_text": "me,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_5_flash_lite",
        "date": "2026-07-23T15:59:46.188960",
        "annotator": "Gemini 3.5 Flash Lite",
        "annotation_date": "2026-07-23T14:44:51.511998",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bedxroom",
            "corrected_text": "bedroom",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For, Mr.",
            "corrected_text": "For Mr.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly, that",
            "corrected_text": "quickly that",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me, a",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Google",
    "release_date": "2026-07-21",
    "release_source": "https://techcrunch.com/2026/07/21/google-releases-three-new-gemini-models-but-no-3-5-pro/",
    "release_notes": "Released alongside Gemini 3.6 Flash and Flash Cyber on 2026-07-21."
  },
  {
    "model_name": "Gemini 3.6 Flash",
    "model_id": "or_gemini_3_6_flash",
    "date": "2026-07-23T15:34:37.784577",
    "shots": 2,
    "config": {
      "model_id": "or_gemini_3_6_flash",
      "display_name": "Gemini 3.6 Flash",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Gemini 3.6 Flash",
    "annotation_date": "2026-07-23T11:30:17.627037",
    "file_results": [
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:31:52.297677",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:30:17.627037",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"howling over\" to \"howling, over\", inserting a comma after \"howling\". The essential punctuation correction is identical. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the intended insertion of a comma after \"yonder\". Therefore the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both edits change \"pockets and\" to \"pockets, and\", inserting a comma after \"pockets\". The core punctuation change is identical in the prediction and ground truth.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:32:01.080790",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:42:40.864648",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to the end of \"Fellow Travellers\" to make it \"Fellow Travellers.\" The original and corrected strings are identical between ground truth and prediction. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over\" by inserting a comma after \"howling\". The core punctuation change is identical, with matching original and corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same correction (inserting a comma after \"yonder\" to become \"yonder, to-day\"). The core change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" to change \"pockets and\" to \"pockets, and\". The original_text and corrected_text match the ground truth precisely. \u0644\u0630\u0644\u0643 the prediction captures the intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day sir",
            "corrected_text": "to-day, sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:32:02.923281",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:41:18.602026",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"howling over\") and the same corrected_text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original phrase \"yonder to-day\" and the same correction \"yonder, to-day\", inserting a comma after \"yonder\". The core change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the type as \"capitalization\", so the edit type matches exactly.\n2) Text Content Accuracy: Both indicate the same core change: \"Sir\" is corrected to \"sir\". There is no discrepancy in original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"pockets and\" to \"pockets, and\", inserting a comma after \"pockets\". The core change is identical, with no discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:31:51.241074",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:30:16.115121",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial word in the phrase \"why did he dine\" \u2192 \"Why did he dine\". The prediction captures the core change by capitalizing \"why\" \u2192 \"Why\". Although it provides less surrounding context than the ground truth, it still reflects the essential intended correction (capitalizing the first word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction applies the same core change\u2014\"!\" \u2192 \"?\"\u2014to the same word at the end of the phrase: \"stones!\" \u2192 \"stones?\". Although the prediction omits the preceding word \"cold\" in both original and corrected text spans, it still captures the essential intended edit (replacing the exclamation mark with a question mark after \"stones\")."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:31:55.935189",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:42:26.348994",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial \"why\" in the phrase \"why did he dine\" to \"Why did he dine.\" The prediction captures the same core change by converting \"why\" \u2192 \"Why.\" Although it includes less surrounding context, it correctly represents the essential intended correction (capitalizing the first word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change in the same phrase: \"cold stones!\" \u2192 \"cold stones?\". The essential edit (replacing an exclamation mark with a question mark) is captured exactly."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:31:56.098860",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:41:17.781737",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word of the phrase (\"why did he dine\" \u00119 \"Why did he dine\"). The predicted edit (\"why\" \u00119 \"Why\") captures the essential change: capitalizing the first word \"why\" to \"Why.\" Although it includes less surrounding context than the ground truth, it still reflects the same core correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation point to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The predicted edit captures the same core change (! \u2192 ?) on the relevant word/phrase ending (\"stones!\" \u2192 \"stones?\"). Although it omits the preceding word \"cold,\" it still correctly represents the essential punctuation correction at the end of the phrase."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:31:52.722295",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:30:18.960588",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same core change by capitalizing \"if\" \u2192 \"If.\" Although it includes less surrounding context (it does not include the following word \"he\"), the essential correction\u2014capitalizing the first word\u2014is accurately represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The prediction captures the same core change by replacing \"said\" with \"asked\"; it simply omits the surrounding context word \"Clennam\" from the original/corrected text fields. Since the essential intended change (\"said\" \u2192 \"asked\") is correctly represented, the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:31:51.221533",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:42:31.789184",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction captures the essential correction by changing \"if\" \u2192 \"If\". Although it omits the following word \"he\" as context, the core intended edit (capitalizing \"if\") is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution (\"said\" \u2192 \"asked\"), merely omitting the surrounding context (\"Clennam\"). Since the essential intended change is the same, the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:31:51.873210",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:41:19.926222",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"if\" in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same core change by converting \"if\" \u2192 \"If.\" Although it includes less surrounding context (omitting \"he\"), it still represents the essential intended correction (capitalizing the initial \"if\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution (\"said\" \u2192 \"asked\") even though it omits the surrounding context (\"Clennam\"). Since the essential intended change is the replacement of \"said\" with \"asked\", the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:32:37.748689",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:30:36.711246",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: converting \"high road\" to the hyphenated form \"high-road\". The original and corrected texts are identical between ground truth and prediction, capturing the intended punctuation change precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the core intended change\u2014adding a comma after \"materials\". No discrepancies in the essential edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tossed about and",
            "corrected_text": "tossed about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma between \"about\" and \"and\" (\"about and\" \u2192 \"about, and\"). The predicted edit performs the same core change, but includes additional surrounding context (\"tossed about and\" \u2192 \"tossed about, and\"). This still captures the essential punctuation insertion intended by the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". The core punctuation change is identical.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma between \"said\" and \"when\" (\"said when\" \u2192 \"said, when\"). The predicted edit applies the same core punctuation change within a slightly longer phrase (\"always said when\" \u2192 \"always said, when\"). The additional word \"always\" is just extra context and does not alter the essential correction. Therefore, the prediction captures the intended edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction applies the same core punctuation change, but includes extra surrounding context (\"and said\" \u2192 \"and said,\"). Since the essential edit\u2014adding a comma immediately after \"said\"\u2014is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 28,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same correction (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam.\" Ignoring line numbers, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion,",
            "corrected_text": "tion",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:32:33.878444",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:42:49.807956",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same corrected text (\"about, and\"), capturing the identical core change of inserting a comma after \"about.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"earnestly\" in the phrase \"earnestly telling\" to become \"earnestly, telling.\" The original and corrected texts match the ground truth\u2019s intended core change exactly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"said when\" to \"said, when\", inserting a comma after \"said\". This captures the identical core correction with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). There is no mismatch or missing/extra substantive change. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion,",
            "corrected_text": "tion",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:32:59.990852",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:41:21.824325",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"high road\" to \"high-road,\" capturing the identical core correction (inserting a hyphen). Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit inserts a comma after the word \"materials\" in the phrase \"materials costing\" \u2192 \"materials, costing.\" The prediction captures the same essential change by editing \"materials\" \u2192 \"materials,\" (adding the comma after \"materials\"). Although the prediction includes less surrounding context (it doesn't explicitly include the following word \"costing\"), it correctly reflects the core intended punctuation insertion at the same location."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"about\" in the phrase \"about and\" \u2192 \"about, and.\" The predicted edit \"about\" \u2192 \"about,\" captures the same core punctuation change (adding a comma immediately after \"about\"). Although it omits the following word \"and\" from the span, it still correctly represents the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly",
            "corrected_text": "earnestly,",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \"earnestly\" in the phrase \"earnestly telling\" \u2192 \"earnestly, telling\". The predicted edit \"earnestly\" \u2192 \"earnestly,\" captures the same core punctuation change (adding a comma immediately after \"earnestly\"). Although it includes less surrounding context (it doesn\u2019t explicitly mention \"telling\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are classified as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The predicted edit \"said\" \u2192 \"said,\" captures the same core punctuation change (adding a comma immediately after \"said\"). Although it omits the following word \"when\" as context, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change, adding a comma after \"said\" (\"said\" \u2192 \"said,\"). There is no discrepancy in the original or corrected text. Therefore, the prediction captures the ground truth intention precisely."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \u201cClennam\u201d in the phrase \u201cClennam in,\u201d producing \u201cClennam, in.\u201d The predicted edit inserts the same comma after \u201cClennam\u201d (\u201cClennam\u201d \u2192 \u201cClennam,\u201d) but omits the following word \u201cin\u201d as context. This still captures the core intended change (adding a comma immediately after \u201cClennam\u201d). Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion ",
            "corrected_text": "tion",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:32:19.264985",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:30:17.802768",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:32:26.900019",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:42:32.507758",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:32:22.044634",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:41:18.002151",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:32:40.941732",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:30:40.551122",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: inserting a comma between \"dull\" and \"autumn\" (\"dull autumn\" \u2192 \"dull, autumn\"). The core punctuation correction is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the o). The core change is identical, with no discrepancy in original or corrected text. Therefore the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both replace the original text \"Saone\" with the corrected text \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core change is identical, with no discrepancies in the strings. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both ground truth and prediction change \"man slowly\" to \"man, slowly\" by inserting a comma after \"man\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "sodded",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:32:53.604746",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:42:50.131668",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same correction (\"dull, autumn\"), capturing the intended insertion of a comma after \"dull\". Therefore, the predicted edit fully matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"replacement,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction replace \"Saone\" with \"Sa\u00f4ne,\" capturing the same core change (adding the circumflex over 'o'). Therefore, the prediction correctly matches the intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was\". The prediction likewise captures the core punctuation change by editing \"Chalons\" \u2192 \"Chalons,\". Although it includes less surrounding context (omitting \"was\"), it still reflects the same essential correction: adding a comma after \"Chalons\".\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE.",
            "corrected_text": "LET LOOSE,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trees",
            "corrected_text": "trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man",
            "corrected_text": "One man,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:32:54.943433",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:41:42.513967",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\nText Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core change is identical in the prediction and the ground truth.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"poplar trees\") and the same corrected text (\"poplar-trees,\")\u2014adding a hyphen between the words and a trailing comma. The predicted edit captures the full core change intended by the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as a \"replacement\", so the type matches exactly. 2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The original and corrected texts match the ground truth\u2019s intended change exactly. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"man\" in the phrase \"man slowly\" (i.e., \"man slowly\" \u2192 \"man, slowly\"). The prediction captures the same core change by editing \"man\" \u2192 \"man,\", which correctly represents adding the comma after \"man\". Although it omits the following word \"slowly\" as context, the essential punctuation change is the same and context is not required."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma immediately after \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The prediction also captures the same core change by adding a comma after \"Chalons\" (\"Chalons\" \u2192 \"Chalons,\"). Although the prediction includes less surrounding context (omits \"was\"), it still reflects the essential punctuation correction intended in the ground truth."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both identify the same original text (\"sodden\") and the same corrected text (\"soddened\"). The core change is identical, with no mismatch in wording. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:33:06.551159",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:30:45.441715",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"heart\" in the phrase \"heart so\" to become \"heart, so.\" There is no discrepancy in original or corrected text, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"length\" in the phrase \"length said\" \u2192 \"length, said\". The prediction applies the same core punctuation change\u2014adding a comma after \"length\"\u2014but includes extra surrounding context (\"at\"). Since the essential edit (\"length\" \u2192 \"length,\") is correctly captured, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change from present to past tense. No discrepancy in the essential edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous",
            "corrected_text": "generous,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as",
            "corrected_text": "indeed as",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:33:07.357117",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:42:51.005392",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change, inserting a comma after \"heart\" (\"heart so\" \u007f \"heart, so\"). The original and corrected texts match the ground truth intention exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is inserting a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same essential punctuation insertion, but includes extra surrounding context (\"at length said\" \u2192 \"at length, said\"). Including additional adjacent words is acceptable as long as the core change is preserved, which it is here."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (present tense to past tense). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "as",
            "corrected_text": "indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:33:08.762708",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:41:49.088990",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart",
            "corrected_text": "heart,",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"heart\" in the phrase \"heart so\" \u2192 \"heart, so.\" The predicted edit \"heart\" \u2192 \"heart,\" captures the same essential punctuation change (adding a comma immediately after \"heart\"). Although it includes less surrounding context (omits \"so\"), it still represents the core intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"). The core change\u2014shifting from present tense \"hope\" to past tense \"hoped\"\u2014is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart",
            "corrected_text": "heart indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length",
            "corrected_text": "at length,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous",
            "corrected_text": "generous,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:33:16.304752",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:31:02.038923",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"hers matters\" to \"hers, matters\", inserting a comma after \"hers\". The core correction is identical in original and corrected text. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change the same phrase from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The core punctuation change is identical. \u0644\u0630\u0644\u0643 the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the identical transformation from \"beautiful that\" to \"beautiful, that\", inserting a comma after \"beautiful\". The core intended punctuation change is captured precisely with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"they\" to \"They\", capturing the identical core change (capitalizing the first letter). Therefore, the predicted edit correctly reflects the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:33:18.670075",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:43:29.725182",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text \"hers and\" and the same corrected text \"hers, and\", capturing the identical core change (inserting a comma after \"hers\"). No discrepancy in the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction change \"hers matters\" to \"hers, matters,\" inserting a comma after \"hers.\" This captures the core intended correction with identical original and corrected text. Therefore, the prediction correctly reflects the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The core punctuation correction is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "papa",
            "corrected_text": "Papa",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "They",
            "corrected_text": "they",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful,",
            "corrected_text": "beautiful",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:33:28.271856",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:42:16.642634",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"hers\" in the phrase \"hers and\" to make it \"hers, and\". The original and corrected text match the ground truth\u2019s core intended change exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"hers\" (\"hers matters\" \u007f \"hers, matters\"). The core correction is identical, with no discrepancy in original or corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"moment with\") and the same corrected_text (\"moment, with\"), capturing the identical core change of inserting a comma after \"moment\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"beautiful that\" to \"beautiful, that\", inserting a comma after \"beautiful\". The core punctuation correction is captured identically.\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change from \"they\" to \"They\". There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "papa",
            "corrected_text": "Papa",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:33:39.136673",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:31:09.583477",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify replacing \"that\" with \"than.\" This captures the same core correction with identical original and corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "\u201cThank you,\u201d",
            "corrected_text": "",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\u201d",
            "corrected_text": "is now.\u201d \u201cThank you,\u201d",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:33:44.432448",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:43:27.101249",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cThank you!\u201d",
            "corrected_text": "\u201cThank you,\u201d",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation in \"Thank you!\" to a comma: \"Thank you,\". The prediction performs the same core change (exclamation mark to comma) but includes surrounding quotation marks as additional context: \u201cThank you!\u201d \u2192 \u201cThank you,\u201d. This preserves the essential intended edit. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"shore\" in the phrase \"shore and\" \u2192 \"shore, and.\" The prediction captures the same core punctuation change by editing \"shore\" \u2192 \"shore,\", which is effectively the same comma insertion at the correct location. The fact that the prediction does not include the following word \"and\" is acceptable since it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit type matches exactly: both are a \"replacement\". Text content matches the intended correction: both replace \"that\" with \"than\". No additional or missing change is present, so the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy",
            "corrected_text": "fancy,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:33:53.948333",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:42:20.640299",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cThank you!\u201d",
            "corrected_text": "\u201cThank you,\u201d",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: The core intended change is replacing the exclamation mark with a comma in the phrase \"Thank you!\" \u2192 \"Thank you,\". The predicted edit makes the same punctuation change, merely including surrounding quotation marks as additional context (\"Thank you!\" \u2192 \"Thank you,\"). This preserves the essential correction identified in the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \"shore\" in the phrase \"shore and\" (i.e., \"shore and\" \u2192 \"shore, and\"). The predicted edit \"shore\" \u2192 \"shore,\" captures the core intended punctuation change: adding a comma immediately after \"shore.\" Although it omits the following word \"and\" from the span, it still correctly represents the essential edit (comma insertion after \"shore\")."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both replace the word \"that\" with \"than\", capturing the same core correction with identical original and corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy",
            "corrected_text": "fancy,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:34:17.159990",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:31:10.051121",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MRS. FLINTWINCH GOES ON DREAMING",
            "corrected_text": "MRS. FLINTWINCH GOES ON DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates adding a period after the word \"DREAMING\" (\"DREAMING\" \u2192 \"DREAMING.\"). The predicted edit adds a period at the end of a longer phrase that ends with the same target word (\"MRS. FLINTWINCH GOES ON DREAMING\" \u2192 \"MRS. FLINTWINCH GOES ON DREAMING.\"). This includes additional context but captures the same core change: appending a period after \"DREAMING.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core transformation from \"city\" to \"City\" with no differences in original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of the",
            "corrected_text": "return to the",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"of\" \u2192 \"to\". The predicted edit changes \"return of the\" \u2192 \"return to the\", which includes additional surrounding context but preserves the same core substitution (replacing \"of\" with \"to\" in that phrase). Therefore, it correctly captures the intended change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the identical core replacement: \"them,\" \u2192 \"them;\". The predicted edit captures the same punctuation change intended by the ground truth with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change within a larger context (\"existence at\" \u2192 \"existence, at\"), which still correctly captures the intended insertion of a comma immediately after \"existence.\" The added surrounding word \"at\" does not alter the essential edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, replacing \"it,\" with \"it;\". There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit applies the same core change, adding a comma immediately after \"motionless\" within a longer span (\"motionless when\" \u2192 \"motionless, when\"). Including the following word \"when\" as extra context does not alter the essential correction. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"stand-still,\") and the same correction (\"stand-still;\")\u2014a comma replaced by a semicolon. The core change is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction includes additional context (\"view by\" \u2192 \"view, by\"), but it still performs the same core edit: adding a comma immediately after \"view\". This accurately captures the ground truth intention."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same replacement, changing \"existence,\" to \"existence;\". This captures the identical core punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:34:09.591137",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:43:29.430368",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MRS. FLINTWINCH GOES ON DREAMING",
            "corrected_text": "MRS. FLINTWINCH GOES ON DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period after the word \"DREAMING\" (\"DREAMING\" \u2192 \"DREAMING.\"). The prediction adds a period to a longer phrase ending in the same word (\"... DREAMING\" \u2192 \"... DREAMING.\"). This includes extra surrounding context but preserves the core intended punctuation change at the same location (after \"DREAMING\"). \u0644\u0630\u0644\u0643 the essential edit is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City\". There is no discrepancy in the original or corrected text, and the essential capitalization change is captured precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"of\" with \"to\". The predicted edit replaces \"return of\" with \"return to\", which includes additional surrounding context but preserves the same core change (\"of\" \u2192 \"to\"). This correctly captures the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing the comma after \"them\" (\"them,\") with a semicolon (\"them;\"). The original and corrected text match the ground truth exactly, so the intended punctuation correction is correctly captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"existence\" to \"existence,\" by adding a comma immediately after the word. The core intended punctuation change is identical in the prediction and the ground truth."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the identical core change from \"it,\" to \"it;\". There is no discrepancy in original or corrected text, so the essential edit is captured precisely."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same core change, adding a comma to \"motionless\" (\"motionless\" \u2192 \"motionless,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"stand-still,\" and the same corrected text \"stand-still;\", capturing the identical core change (comma to semicolon). Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, adding a comma after \"view\" (\"view\" \u2192 \"view,\"). There is no discrepancy in the intended correction."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing the comma in \"existence,\" with a semicolon to become \"existence;\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:34:37.784577",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:42:08.152138",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MRS. FLINTWINCH GOES ON DREAMING",
            "corrected_text": "MRS. FLINTWINCH GOES ON DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period after the word \"DREAMING\" (\"DREAMING\" \u2192 \"DREAMING.\"). The prediction applies the same core change\u2014adding a period after \"DREAMING\"\u2014but includes additional surrounding context (\"MRS. FLINTWINCH GOES ON\"). Since the essential punctuation correction is identical, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify changing \"city\" to \"City,\" which captures the identical core correction (capitalizing the first letter). No discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"of\" with \"to\". The prediction replaces \"return of\" with \"return to\", which includes extra surrounding context but preserves the same core change (\"of\" \u2192 \"to\"). This correctly captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"them,\") and the same corrected text (\"them;\"), capturing the identical core punctuation change from comma to semicolon. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction also inserts a comma after \"existence\" while including additional surrounding context (\"existence at\" \u2192 \"existence, at\"). This preserves the core intended punctuation change.\n\nTherefore, both the type and the essential text change match the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction shows a comma inserted after \"motionless\" as well, using additional context (\"motionless when\" \u2192 \"motionless, when\"). This captures the same core punctuation change in the correct location.\n\nTherefore, the predicted edit correctly reflects the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change in a slightly larger context (\"view by\" \u2192 \"view, by\"), which still places the comma immediately after \"view\". This captures the essential intended punctuation correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:34:04.791729",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:31:23.378318",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" so the phrase becomes \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit similarly replaces \"dryest snorts\" with \"driest of snorts,\" capturing the same core spelling correction and insertion. The prediction omits surrounding context (\"of the\" and the final period), but this is allowed as long as the essential change is represented. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 31,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"now\" in the phrase \"now I\" \u2192 \"now, I.\" The prediction edits \"now\" \u2192 \"now,\", which captures the same core punctuation insertion (a comma immediately after \"now\"). Although the prediction includes less surrounding context (it omits the following \"I\"), it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorige",
            "corrected_text": "authorise",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you,",
            "corrected_text": "you",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam,",
            "corrected_text": "Clennam;",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:34:05.686481",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:43:36.356840",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same word \"him\" is to be italicized, with no discrepancy in original or corrected text. The core intended change (apply italics to \"him\") is captured correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"now I\" to \"now, I\", inserting a comma after \"now\". This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits specify a \"replacement\" type, so the edit type matches exactly.\n2) Text Content Accuracy: Both replace the exact same original text \"authorize\" with the corrected text \"authorise\". The core intended change (American to British spelling) is fully and precisely captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:34:19.613374",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:42:24.677689",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same target text \"him\" with no change to the characters, only formatting (italicization). The predicted edit captures the same core formatting change on the same word. Therefore, it matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"now\" in the phrase \"now I\" \u2192 \"now, I.\" The predicted edit \"now\" \u2192 \"now,\" captures the same core punctuation insertion (adding a comma immediately after \"now\"). Although the prediction omits the following word \"I\" from the context, it still represents the essential intended change accurately."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:34:17.073810",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T11:31:12.139473",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction likewise inserts a comma after \"For\" in \"For Mr.\" \u2192 \"For, Mr.\" Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change\u2014adding a comma after \"For\" before \"Mr.\"\u2014so the essential edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"quickly\" in the phrase \"quickly that\" to make it \"quickly, that\". The original_text and corrected_text match exactly, so the essential edit is captured correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in very",
            "corrected_text": "in, very",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "making me",
            "corrected_text": "making me a",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:34:24.570325",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T12:43:57.943795",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly",
            "corrected_text": "quickly,",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma after the word \"quickly\" in the phrase \"quickly that\" \u2192 \"quickly, that.\" The predicted edit \"quickly\" \u2192 \"quickly,\" captures the same core punctuation change (adding a comma immediately after \"quickly\"). Although it includes less surrounding context (it omits \"that\"), it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in",
            "corrected_text": "in,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me",
            "corrected_text": "me a",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me",
            "corrected_text": "me,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_6_flash",
        "date": "2026-07-23T15:34:27.599193",
        "annotator": "Gemini 3.6 Flash",
        "annotation_date": "2026-07-23T13:42:21.633638",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The prediction likewise inserts a comma after \"For\" in \"For Mr.\" \u2192 \"For, Mr.\". Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change at the correct location (after \"For\" before \"Mr.\"). Therefore, the essential edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the core intended change of inserting a comma after \"quickly\". No discrepancy in the essential edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "making me,",
            "corrected_text": "making me a,",
            "observed_line_number": 21,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts the word \"a\" after \"me,\" changing \"me,\" to \"me a,\". The prediction performs the same core change\u2014adding \"a\" after \"me\"\u2014but includes additional preceding context (\"making \"). Since the essential insertion (adding \"a\" after \"me\") is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Google",
    "release_date": "2026-07-21",
    "release_source": "https://techcrunch.com/2026/07/21/google-releases-three-new-gemini-models-but-no-3-5-pro/",
    "release_notes": "Released alongside Gemini 3.5 Flash-Lite and Flash Cyber on 2026-07-21."
  },
  {
    "model_name": "Gemini 3.8 Flash",
    "model_id": "or_gemini_3_8_flash",
    "date": "2026-09-06T03:12:34.164367",
    "shots": 2,
    "config": {
      "model_id": "or_gemini_3_8_flash",
      "display_name": "Gemini 3.8 Flash",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-09-06",
      "notes": "Benchmark run with 2-shot learning at high reasoning effort; images resized/recompressed when needed for the provider request limit"
    },
    "annotator": "Gemini 3.8 Flash",
    "annotation_date": "2026-09-06T02:54:32.931313",
    "file_results": [
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:39.112588",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:54:32.931313",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: The predicted original_text (\"howling over\") and corrected_text (\"howling, over\") match the ground truth exactly, capturing the intended insertion of a comma after \"howling.\" Therefore, the prediction correctly reflects the ground truth change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change\u2014adding a comma after \"yonder\". No discrepancies in the intended punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"Sir\" is corrected to \"sir\" (lowercasing the initial letter). The original and corrected text match the ground truth\u2019s intention exactly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:41.753165",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:00:58.867941",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over\" by inserting a comma after \"howling.\" This captures the core intended punctuation correction with identical original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both apply the same core punctuation change, inserting a comma after \"yonder\" so that \"yonder to-day\" becomes \"yonder, to-day\". The original and corrected texts match exactly, capturing the intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"pockets and\" to \"pockets, and\", inserting a comma after \"pockets\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:42.318109",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:06:36.494051",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change the same text from \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core punctuation change is identical. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change: inserting a comma after \"howling\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same correction (inserting a comma to make \"yonder, to-day\"). The core change\u2014adding the comma after \"yonder\"\u2014is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, converting \"Sir\" to \"sir\". There is no discrepancy in original or corrected text. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"pockets and\" to \"pockets, and,\" correctly capturing the core intended change (inserting a comma after \"pockets\"). Therefore, the predicted edit matches the ground truth intent."
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:37.327632",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:55:32.431019",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth type.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word of the phrase \"why did he dine\" to \"Why did he dine.\" The prediction specifies the core change directly as \"why\" \u00123 \"Why,\" which is the essential capitalization correction. Although it includes less surrounding context than the ground truth, it captures the same intended edit (capitalizing the first word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction changes \"stones!\" \u2192 \"stones?\", which captures the same core correction (replacing \"!\" with \"?\") at the same word. Although it includes less surrounding context (omits \"cold\"), it still reflects the essential intended punctuation change.\n\nTherefore, the prediction correctly captures the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:42.397273",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:00:57.304658",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"why did he dine\" to \"Why did he dine\", i.e., capitalizing the initial word \"why\" to \"Why\". The predicted edit captures this same core change by changing \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it correctly represents the essential capitalization correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No",
            "corrected_text": "\"No",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:41.306120",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:07:03.500465",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word of the phrase \"why did he dine\" to \"Why did he dine.\" The prediction captures this core change by converting \"why\" \u2192 \"Why.\" Although it includes less surrounding context than the ground truth, it correctly represents the essential capitalization correction (capitalizing the first word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation mark to a question mark in the phrase ending with \"stones\" (\"cold stones!\" \u2192 \"cold stones?\"). The prediction likewise changes \"stones!\" \u2192 \"stones?\". Although it omits the preceding word \"cold,\" it still captures the core intended change\u2014the replacement of \"!\" with \"?\" at the end of the same word/phrase. This is acceptable per the criteria allowing less/more surrounding context."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No",
            "corrected_text": "\"No",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:37.259696",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:54:19.537384",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he.\" The predicted edit capitalizes \"if\" \u2192 \"If.\" Although the prediction includes less surrounding context (it omits \"he\"), it captures the core intended change: capitalizing the word \"if\" at the start of the phrase/sentence. Therefore, the essential correction is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same essential substitution (\"said\" \u2192 \"asked\"), even though it provides less surrounding context. Since the core intended change is correctly represented, the text content matches the ground truth's intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:38.394995",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:00:04.704459",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the word \"if\" at the start of the phrase \"if he\" (\"if he\" \u2192 \"If he\"). The prediction captures the same core change by capitalizing \"if\" (\"if\" \u2192 \"If\"), merely with less surrounding context. Since the essential edit\u2014capitalizing \"if\"\u2014is correctly represented, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as a \"replacement\", so the type matches.\n\n2) Text Content Accuracy: The ground truth replaces \"said Clennam\" with \"asked Clennam\", whose essential change is the word substitution \"said\" \u2192 \"asked\" while leaving \"Clennam\" unchanged. The prediction captures this core substitution by replacing \"said\" with \"asked\". Although it omits the trailing context (\"Clennam\") in the original/corrected text fields, the intended correction (said\u2192asked) is accurately represented."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:45.395913",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:06:13.192717",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word \"if\" in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same core change by converting \"if\" \u2192 \"If\". Although it includes less surrounding context (omits \"he\"), it still correctly represents the essential capitalization correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core change by replacing \"said\" with \"asked\" (with less surrounding context). Since the essential intended correction is the verb substitution, and the remaining context (\"Clennam\") is unchanged, the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:00.645815",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:54:31.375673",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core correction, changing \"high road\" to \"high-road\" by inserting a hyphen. There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the intended insertion of a comma after \"materials.\" Therefore, the predicted edit matches the ground truth\u2019s core change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"about and\" to \"about, and,\" inserting a comma after \"about.\" The core intended punctuation change is captured precisely."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original phrase \"earnestly telling\" and the same correction \"earnestly, telling\", inserting a comma after \"earnestly\". The core punctuation change is captured exactly.\n\nTherefore, the predicted edit matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change, inserting a comma after \"said\" (\"said when\" \u2192 \"said, when\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion,",
            "corrected_text": "tion",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said;",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:51.445237",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:00:42.332810",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"high road\" \u2192 \"high-road\" (inserting a hyphen). The core intended edit is captured identically with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials.\" The core punctuation change is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original phrase \"about and\" and the same correction \"about, and,\" capturing the identical core change (inserting a comma after \"about\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change\u2014adding a comma after \"earnestly.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The core punctuation change is identical with no discrepancies."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". The core intended change is identical. Therefore the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tionx",
            "corrected_text": "tion",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said;",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:58.250429",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:07:33.078969",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation of the original text \"high road\" to the corrected text \"high-road\" (inserting a hyphen). The core change is identical. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"materials costing\" to \"materials, costing\", inserting a comma after \"materials\". The core change is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"about\" in the phrase \"about and\" to make it \"about, and\". The original_text and corrected_text are identical between ground truth and prediction, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original span \"earnestly telling\" and the same corrected span \"earnestly, telling\", inserting a comma after \"earnestly\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"said when\") and the same corrected text (\"said, when\"), capturing the identical core change of inserting a comma after \"said.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". This captures the same core punctuation correction with identical original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion, did",
            "corrected_text": "tion did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said;",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:52.639509",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:54:27.287709",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:10:57.364280",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:00:39.717399",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intention is to end the phrase \"Sun and Shadow\" with a period (i.e., add terminal punctuation). The predicted edit also results in \"Sun and Shadow.\" The prediction\u2019s original_text includes a comma (\"Sun and Shadow,\") whereas the ground truth original_text has no punctuation (\"Sun and Shadow\"), but the essential intended change\u2014making the ending punctuation a period\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter 1",
            "corrected_text": "Chapter 1.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:03.308741",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:07:23.062937",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:14.202799",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:54:48.100402",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Let Loose\" to \"Let Loose.\" by adding a period at the end. This captures the identical core punctuation change. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core intended change is identical in the prediction and ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"man slowly\") and the same corrected text (\"man, slowly\"), capturing the identical core change\u2014adding a comma after \"man\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trees",
            "corrected_text": "trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:22.561542",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:01:18.477829",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"replacement\", so the type matches exactly. Text Content Accuracy: Both indicate the same substitution of \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex on the 'o'), which captures the core intended correction. Therefore, the predicted edit matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"man slowly\") and the same corrected text (\"man, slowly\"), capturing the intended insertion of a comma after \"man\". Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trees against",
            "corrected_text": "trees, against",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:14.447300",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:06:41.749912",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"Saone\") and the same corrected text (\"Sa\u00f4ne\"), capturing the identical core change (adding the circumflex over the 'o'). There is no discrepancy in the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"man slowly\") and the same corrected text (\"man, slowly\"), capturing the identical core change\u2014adding a comma after \"man\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:09.007735",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:55:17.973798",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core punctuation correction is identical in original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"length said\" to \"length, said,\" inserting a comma after \"length.\" The core change and the before/after text match precisely. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the verb tense from \"hope\" to \"hoped\" within the phrase \"I hope so\" \u2192 \"I hoped so\". The prediction captures this same core change by replacing \"hope\" \u2192 \"hoped\". Although it omits surrounding context (\"I\" and \"so\"), it correctly represents the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "as",
            "corrected_text": "indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:22.828306",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:01:11.030242",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same change from \"heart so\" to \"heart, so\", correctly capturing the intended insertion of a comma after \"heart\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"length said\") and the same corrected text (\"length, said\"), capturing the identical core change\u2014adding a comma after \"length.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"I hope so\" to \"I hoped so\", i.e., the core change is the verb tense shift from \"hope\" to \"hoped\" while keeping the surrounding words the same. The prediction captures this essential change by replacing \"hope\" with \"hoped\". Although it omits the surrounding context (\"I\" and \"so\"), it correctly represents the intended modification."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "as",
            "corrected_text": "indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:30.911471",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:07:22.151215",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same change from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core intended correction is captured exactly with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"length said\") and the same correction (inserting a comma: \"length, said\"). The core intended punctuation change is captured precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"I hope so\" to \"I hoped so\", whose core modification is the verb tense change \"hope\" \u2192 \"hoped\". The prediction captures this essential change directly (\"hope\" \u2192 \"hoped\"), just with less surrounding context. This still reflects the same intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "as",
            "corrected_text": "indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:33.917683",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:54:55.540885",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the identical transformation from \"hers and\" to \"hers, and\", inserting a comma after \"hers\". The core intended change is fully captured with no deviation."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"hers\" (\"hers matters\" \u00126 \"hers, matters\"). The core correction is identical in the predicted edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same correction (\"moment, with\"), inserting a comma after \"moment.\" The core intended punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same transformation: \"beautiful that\" \u2192 \"beautiful, that,\" inserting a comma after \"beautiful.\" This captures the core intended punctuation change with identical original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same change from \"they\" to \"They\". The essential correction (capitalizing the first letter) is captured precisely with no discrepancy. Line numbers are irrelevant per instructions."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:34.280939",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:04:39.776864",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"hers and\" to \"hers, and\" by inserting a comma after \"hers.\" This captures the identical core punctuation correction with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"hers matters\" to \"hers, matters\" (inserting a comma after \"hers\"). The core correction is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"moment with\") and the same corrected_text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment.\" Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that\". The core correction is identical in original and corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"they\" is corrected to \"They\". There is no discrepancy in the original or corrected text, so the intended capitalization correction is fully captured."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:38.728144",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:06:05.617917",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"hers and\" to \"hers, and\" by inserting a comma after \"hers\". The original and corrected text match exactly, capturing the same core punctuation change.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the predicted edit matches the ground truth intent."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"moment with\" to \"moment, with\" by inserting a comma after \"moment.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"beautiful that\" to \"beautiful, that\", inserting a comma after \"beautiful\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both edits change the same original text \"they\" to the corrected text \"They\", capturing the identical core capitalization change. Therefore, the predicted edit matches the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:40.093117",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:54:51.785726",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the core intended change\u2014adding a comma after \"shore.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both change the original text \"that\" to the corrected text \"than\". The core intended change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cThank you\u201d",
            "corrected_text": "\u201cThank you,\u201d",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:42.624485",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:01:44.646915",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the core intended change\u2014adding a comma after \"shore.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both change the original text \"that\" to the corrected text \"than\". The core substitution is identical, with no discrepancy in the intended correction.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:43.689924",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:07:17.540495",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing the exclamation mark in \"Thank you!\" with a comma to form \"Thank you,\". The original and corrected texts are identical between ground truth and prediction, so the essential edit is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both change the same original text \"that\" to the same corrected text \"than\". The core intended correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:12:22.611032",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:55:44.128919",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MRS. FLINTWINCH GOES ON DREAMING",
            "corrected_text": "MRS. FLINTWINCH GOES ON DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is adding a period after the word \"DREAMING\" (\"DREAMING\" \u2192 \"DREAMING.\"). The prediction applies the same core change\u2014adding a period immediately after \"DREAMING\"\u2014but includes additional surrounding context (\"MRS. FLINTWINCH GOES ON\"). Since the essential punctuation change is identical, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"city\" to \"City\". There is no discrepancy in original or corrected text. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both edits replace the original text \"of\" with the corrected text \"to\". The core change is identical, with no discrepancy in the replaced or replacement text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, adding a comma immediately after \"existence\" while including extra surrounding context (\"existence at\" \u2192 \"existence, at\"). This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit adds the same comma in context (\"motionless when\" \u2192 \"motionless, when\"). Although the prediction includes the following word \"when\" as additional context, it captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core punctuation change, adding a comma immediately after \"view\" within a larger context (\"view by\" \u2192 \"view, by\"). This captures the essential intended edit correctly, with only additional surrounding words included."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:12:17.854572",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:01:00.068645",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: adding a period to the word \"DREAMING\" (\"DREAMING\" \u2192 \"DREAMING.\"). The original and corrected texts are identical between ground truth and prediction, so the intended edit is captured precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change, converting \"city\" to \"City\". There is no discrepancy in original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\nText Content Accuracy: Both specify replacing the original text \"of\" with the corrected text \"to\". This captures the core intended change with no discrepancy.\nTherefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, adding a comma immediately after \"existence\" within a slightly larger span (\"existence at\" \u2192 \"existence, at\"). This includes extra context but preserves the essential intended punctuation edit.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit also adds a comma after \"motionless\" and includes the following word as extra context (\"motionless when\" \u2192 \"motionless, when\"). This captures the same core punctuation insertion at the same location, with permissible additional surrounding text.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"view\" (\"view\" \u2192 \"view,\"). The prediction also inserts a comma immediately after \"view\" within a larger context (\"view by\" \u2192 \"view, by\"). This captures the same core intended punctuation change (adding a comma after the word \"view\"). The extra surrounding word \"by\" is allowable context and does not alter the essential edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "xxix",
            "corrected_text": "xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:12:34.164367",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:06:52.306248",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "MRS. FLINTWINCH GOES ON DREAMING",
            "corrected_text": "MRS. FLINTWINCH GOES ON DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a period after the word \"DREAMING\" (\"DREAMING\" \u2192 \"DREAMING.\"). The predicted edit adds a period after \"DREAMING\" as well, but includes additional surrounding context (\"MRS. FLINTWINCH GOES ON DREAMING\" \u2192 \"MRS. FLINTWINCH GOES ON DREAMING.\"). This captures the same core intended punctuation change.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City\". There is no discrepancy in original or corrected text, so the essential edit is captured correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both edits replace the original text \"of\" with the corrected text \"to\". This captures the same core change with identical original and corrected content. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit changes \"busy existence at\" to \"busy existence, at\", which likewise inserts a comma directly after \"existence\". Although the prediction includes extra surrounding words, it captures the same essential punctuation change."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit expands the span to include the following word but makes the same essential punctuation change: \"motionless when\" \u2192 \"motionless, when\". This correctly captures the core intention of inserting a comma after \"motionless\", with permissible added context."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction expands the span to include the following word but makes the same core punctuation change (\"view by\" \u2192 \"view, by\"), which still places a comma immediately after \"view\". This captures the essential intended edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:55.944987",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:58:26.133029",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts.",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction use the exact same edit type (\"replacement\"), so this criterion is satisfied.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and adds an \"of\" to make the phrase \"driest of snorts.\" The prediction captures the same essential transformation: \"dryest snorts.\" \u2192 \"driest of snorts.\" Although the prediction omits the surrounding context words \"of the\" that appear in the ground truth, it still reflects the core intended correction. Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"now I\" to \"now, I,\" inserting a comma after \"now.\" The core intended correction is captured identically. Therefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the same original text \"authorize\" with the same corrected text \"authorise\". The core intended change (American spelling to British spelling) is captured identically.\nTherefore, the predicted edit fully matches the ground truth intent."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him,",
            "corrected_text": "him,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:11:59.424870",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:02:53.051197",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit also replaces \"dryest snorts\" with \"driest of snorts\", correctly capturing the core intended change (spelling correction and insertion of \"of\"). Although the prediction omits surrounding context (\"of the\" and the final period), it still represents the essential replacement accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly. Text Content Accuracy: Both identify the same target text \"him\" with no change in spelling\u2014only formatting (italicization) is intended. The prediction captures the same core formatting change on the same word. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"now I\" to \"now, I\", inserting a comma after \"now\". The core punctuation correction is captured identically. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. Text Content Accuracy: Both replace the original text \"authorize\" with the corrected text \"authorise\"; the core change (American to British spelling) is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "the",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:12:06.763023",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:09:45.774876",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth replaces \"dryest\" with \"driest\" and inserts \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit also changes \"dryest\" \u2192 \"driest\" and adds the missing \"of\" to yield \"driest of snorts.\" Although the prediction omits surrounding context (\"of the\" and the final period), it captures the core intended change exactly.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly. Text Content Accuracy: Both edits target the same word \"him\" with no change in spelling\u2014only formatting (italicization) is implied. The predicted edit captures the same core formatting change on the same text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"now I\" to \"now, I\", inserting a comma after \"now\". This captures the core intended correction precisely."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both replace \"authorize\" with \"authorise\". The core change (American to British spelling) is identical with no discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:12:00.689621",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T02:56:41.447367",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is the insertion of a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it still captures the core intended punctuation change at the correct location (between \"For\" and \"Mr\").\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"quickly\" in the phrase \"quickly that\" to make it \"quickly, that\". The original and corrected text strings match exactly. Therefore the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me not",
            "corrected_text": "me a not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:12:03.327745",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:02:17.338269",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the predicted span is shorter and does not include \"Pancks,\" it still captures the essential punctuation change at the correct location. Therefore, the core intended edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"quickly that\" \u2192 \"quickly, that\", inserting a comma after \"quickly\". The core change is identical with no mismatch in original or corrected text.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me not",
            "corrected_text": "me a not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_3_8_flash",
        "date": "2026-09-06T03:12:08.863917",
        "annotator": "Gemini 3.8 Flash",
        "annotation_date": "2026-09-06T03:08:00.085229",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is the insertion of a comma after the word \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the predicted snippet includes less surrounding context (it stops at \"Mr.\" rather than including \"Pancks\"), it captures the core intended punctuation change at the correct location. Therefore the essential edit content matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"quickly\" in the phrase \"quickly that\", yielding \"quickly, that\". The original_text and corrected_text match the ground truth precisely, capturing the core intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": 21,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"insertion\" and the predicted edit type is also \"insertion\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"me,\" to \"me a,\", inserting the letter \"a\" after \"me\" while keeping the comma. This captures the core intended change with identical original and corrected text.\n\nTherefore, the predicted edit correctly matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Google",
    "release_date": "2026-09-02",
    "release_source": "https://openrouter.ai/google/gemini-3.8-flash",
    "release_notes": "Google's stable Gemini 3.8 Flash model. Benchmark configuration uses high reasoning effort.",
    "display_suffix": "*",
    "display_note": "Images are resized/recompressed when needed to stay below the provider's request payload limit."
  },
  {
    "model_name": "Gemma 3 27B",
    "model_id": "or_gemma_3_27b_it",
    "date": "2026-02-22T15:47:53.046288",
    "shots": 2,
    "config": {
      "model_id": "or_gemma_3_27b_it",
      "display_name": "Gemma 3 27B",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Gemma 3 27B",
    "annotation_date": "2025-04-07T19:18:29.184159",
    "file_results": [
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:45:50.098617",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:18:29.184159",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "along and",
            "corrected_text": "along, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets; and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "along and",
            "corrected_text": "along and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "n",
            "corrected_text": "N",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to day sir is there",
            "corrected_text": "yonder-to-day, sir; is there?",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:45:58.937208",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:37:34.445115",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles people",
            "corrected_text": "Marseilles people?",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "or something",
            "corrected_text": "or something.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Marseilles",
            "corrected_text": "Mar-seilles",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "laugh",
            "corrected_text": "laugh.",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for",
            "corrected_text": "for?",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "over yonder to-day sir is there",
            "corrected_text": "over yonder to-day, sir, is there?",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:45:57.423842",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:45:48.021799",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "along and marshong",
            "corrected_text": "along and marshong",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "out to-day",
            "corrected_text": "out to-day.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "o more of yesterday's howling over yonder to-day, sir, is there?",
            "corrected_text": "over yonder to-day, sir; is there?",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:45:57.042949",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:18:56.920365",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "prepared by",
            "corrected_text": "prepared for",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cAnd I have no fire,\u201d said Clennam",
            "corrected_text": "\u201cAnd I have no fire,\u201d said Clennam.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "warmth",
            "corrected_text": "warmth.\u201d",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "remarkable",
            "corrected_text": "\u201cRemarkable",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cYes, my child",
            "corrected_text": "\u201cYes, my child.",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "cap",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:07.487424",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:38:00.814005",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "prepared by",
            "corrected_text": "prepared for",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cAnd I have no fire,\u201d said Clennam",
            "corrected_text": "\u201cAnd I have no fire,\u201d said Clennam.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "warmth",
            "corrected_text": "warmth.\u201d",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "remarkable",
            "corrected_text": "\u201cRemarkable",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cYes, my child",
            "corrected_text": "\u201cYes, my child.",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "cap",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:08.075532",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:46:19.053519",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "prepared by",
            "corrected_text": "prepared for",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cAnd I have no fire,\u201d said Clennam",
            "corrected_text": "\u201cAnd I have no fire,\u201d said Clennam.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "warmth",
            "corrected_text": "warmth.\u201d",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "remarkable",
            "corrected_text": "\u201cRemarkable",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cYes, my child",
            "corrected_text": "\u201cYes, my child.",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "cap",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:04.964602",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:19:28.568576",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "much accus-",
            "corrected_text": "much accustomed",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a lock-maker",
            "corrected_text": "a lock-maker;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "years more",
            "corrected_text": "years more.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Germany and",
            "corrected_text": "Germany, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "felt and",
            "corrected_text": "felt, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Stillstalk",
            "corrected_text": "Stillstalk-",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "whom",
            "corrected_text": "whom he",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "loftier",
            "corrected_text": "loftier.",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:16.784372",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:38:30.869051",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "much accus-",
            "corrected_text": "much accustomed",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in his discovery",
            "corrected_text": "in his discovery,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lock-maker, which",
            "corrected_text": "lock-maker; which",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "years more",
            "corrected_text": "years more.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cumlocution Office",
            "corrected_text": "cumlocution Office",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stillstalk",
            "corrected_text": "stillstalk-",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "whom",
            "corrected_text": "whom he",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:07.172159",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:47:16.102788",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "much accus-",
            "corrected_text": "much accustomed",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in his discovery",
            "corrected_text": "in his discovery,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a lock-maker, which",
            "corrected_text": "a lock-maker; which",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "years more",
            "corrected_text": "years more.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Germany and",
            "corrected_text": "Germany, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "preferencefor",
            "corrected_text": "preference for",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stillstalk-",
            "corrected_text": "stillstalk-",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "whom",
            "corrected_text": "whom he",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "nation with",
            "corrected_text": "nation, with",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:32.128509",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:19:52.839573",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "(comma)",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:30.885386",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:39:04.272027",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: converting \"high road\" to \"high-road\" (inserting a hyphen). This captures the essential intended correction. Line number differences are to be ignored and do not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cheap materials",
            "corrected_text": "all cheap materials",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "forty minutes",
            "corrected_text": "in forty minutes.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "place",
            "corrected_text": "her place.",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her behalf",
            "corrected_text": "her behalf,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "(comme)",
            "corrected_text": "(comme?)",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "amazement",
            "corrected_text": "in amazement.",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do it",
            "corrected_text": "do it;",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:32.314807",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:47:39.785272",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "(comma)",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:31.578474",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:20:21.623183",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Period here",
            "corrected_text": "Period here?",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:31.372029",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:39:32.342634",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Period here",
            "corrected_text": "Period here?",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:31.369401",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:48:09.606195",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Period here",
            "corrected_text": "Period here?",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:40.754926",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:20:47.283689",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "with with wet",
            "corrected_text": "with wet",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sa\u00f4ne hyphen",
            "corrected_text": "Sa\u00f4ne-hyphen",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "man slowly moving",
            "corrected_text": "slowly moving",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:43.525092",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:40:18.241627",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "against him",
            "corrected_text": "against him,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:52.732477",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:48:37.545994",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "slowlymoving",
            "corrected_text": "slowly moving",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with wet",
            "corrected_text": "with wet;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sa\u00f4ne hyphen",
            "corrected_text": "Sa\u00f4ne-hyphen",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:59.121141",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:21:15.095575",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "heart.",
            "corrected_text": "heart so",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "and",
            "corrected_text": "\u201cAnd",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cOh",
            "corrected_text": "\u201cOh!",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Mr.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:58.850672",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:40:49.962176",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "heart.",
            "corrected_text": "heart so",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "and",
            "corrected_text": "\u201cAnd",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cOh",
            "corrected_text": "\u201cOh!",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Mr.",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:56.170857",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:49:07.081110",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "heart.",
            "corrected_text": "heart so",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cAnd",
            "corrected_text": "\u201cAnd,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "hope so",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:46:58.449277",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:21:45.450133",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits apply the same core punctuation change, inserting a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and\". The original and corrected text strings match the ground truth\u2019s intended modification. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "ter on his",
            "corrected_text": "ter on his arm",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for hispeace",
            "corrected_text": "for his peace",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "muchlong",
            "corrected_text": "much longer",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "with",
            "corrected_text": "with a",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "theyare",
            "corrected_text": "they are",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:03.436754",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:41:19.824966",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change of inserting a comma after \"hers\". Line number differences are to be ignored, so the prediction matches the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "ter on his",
            "corrected_text": "ter on his arm",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "much",
            "corrected_text": "much longer",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "with",
            "corrected_text": "with a",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "they're",
            "corrected_text": "they are",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:05.562708",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:49:59.940547",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the core intended change of inserting a comma after \"hers\". Ignoring line numbers as instructed, the prediction matches the ground truth's textual correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "ter on his",
            "corrected_text": "ter on his arm",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "for",
            "corrected_text": "ill for",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "they",
            "corrected_text": "they are",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "like",
            "corrected_text": "much like",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "with",
            "corrected_text": "with a",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:08.465215",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:22:13.935717",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "thank you",
            "corrected_text": "Thank you",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:11.264168",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:41:47.778677",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "thank you",
            "corrected_text": "Thank you",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:22.477336",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:50:26.871018",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "thank you",
            "corrected_text": "Thank you",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:42.510844",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:23:06.958645",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit also inserts a comma after \"existence\" within a larger phrase (\"busy existence at\" \u2192 \"busy existence, at\"). This includes extra surrounding context but captures the same core punctuation change at the same location. Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "altered houses",
            "corrected_text": "altered houses,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "out",
            "corrected_text": "out of",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each",
            "corrected_text": "to each",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to stand still",
            "corrected_text": "to stand-still;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:39.438136",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:42:22.581187",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change within a longer span of text (\"busy existence at\" \u2192 \"busy existence, at\"), which still places the comma immediately after \"existence\". The additional surrounding words do not alter the essential correction. Therefore, the prediction captures the intended punctuation edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "altered houses",
            "corrected_text": "altered houses,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still to",
            "corrected_text": "still; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "out",
            "corrected_text": "out of",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each",
            "corrected_text": "to each",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:34.159782",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:50:57.032066",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, adding a comma immediately after \"existence\" within a larger context (\"busy existence at\" \u2192 \"busy existence, at\"). Including surrounding words is acceptable, and the essential punctuation change matches the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "altered houses",
            "corrected_text": "altered houses,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still to",
            "corrected_text": "still; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "out",
            "corrected_text": "out of",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each",
            "corrected_text": "to each",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:32.109974",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:23:39.261417",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boiling over",
            "corrected_text": "boiling-over",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a perfect Pa",
            "corrected_text": "a perfect Pa-",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "have said with",
            "corrected_text": "have said",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it's high,.",
            "corrected_text": "it's high.",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Italicize",
            "corrected_text": "Italicize",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "it",
            "corrected_text": "It",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:34.500031",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:42:48.866477",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Italicize",
            "corrected_text": "\u201cItalicize",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Italics",
            "corrected_text": "Italics at",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:38.059888",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:51:22.434269",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Italicize",
            "corrected_text": "\u201cItalicize",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Italics",
            "corrected_text": "Italics at",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:33.769921",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T19:24:05.437412",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mr. Casby\u2019s",
            "corrected_text": "Mr. Casby\u2019s.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "breakfast room.",
            "corrected_text": "breakfast-room.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at any time",
            "corrected_text": "at any time,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "considerable",
            "corrected_text": "considerably",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "do",
            "corrected_text": "Do",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:38.683526",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-07T20:43:31.065919",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said he would go",
            "corrected_text": "said he would \u201cgo",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "fullspeed",
            "corrected_text": "full speed",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "brightbrass",
            "corrected_text": "bright brass",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "she shown.",
            "corrected_text": "she shown",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prayed.",
            "corrected_text": "prayed",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "needmind",
            "corrected_text": "need mind",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "takeplace after",
            "corrected_text": "take place after",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stared.",
            "corrected_text": "stared",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "abrupt.",
            "corrected_text": "abrupt",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "though in",
            "corrected_text": "though\u2014in",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you\u2014",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "naturally.",
            "corrected_text": "naturally",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "except his",
            "corrected_text": "except in his",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemma_3_27b_it",
        "date": "2026-02-22T15:47:53.046288",
        "annotator": "Gemma 3 27B",
        "annotation_date": "2025-04-08T11:52:10.569686",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mr. Casby\u2019s",
            "corrected_text": "Mr. Casby\u2019s.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at any time",
            "corrected_text": "at any time,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Google",
    "release_date": "2025-03-12",
    "release_source": "https://blog.google/technology/developers/gemma-3/"
  },
  {
    "model_name": "Gemma 4 26B A4B IT",
    "model_id": "or_gemma_4_27b",
    "date": "2026-04-04T09:02:42.009432",
    "shots": 2,
    "config": {
      "model_id": "or_gemma_4_27b",
      "display_name": "Gemma 4 26B A4B IT",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-04-04",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Gemma 4 27B",
    "annotation_date": "2026-04-04T07:30:37.355087",
    "file_results": [
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:49:08.386362",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:30:37.355087",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to, day,",
            "corrected_text": "yonder today,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "day, Sir",
            "corrected_text": "day, sir",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:53:57.316368",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:31:36.549799",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day, Sir",
            "corrected_text": "yonder to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:58:31.741505",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:23:46.706732",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day, sir",
            "corrected_text": "yonder to-day, sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, sir",
            "corrected_text": "to-day, sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:49:29.292466",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:30:41.556514",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "they might blame",
            "corrected_text": "they might blame,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones. She",
            "corrected_text": "stones; she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:54:18.256869",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:31:46.950495",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "they might blame",
            "corrected_text": "they might blame,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones She",
            "corrected_text": "stones. She",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:58:52.489275",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:24:20.763003",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "they might blame",
            "corrected_text": "they might blame,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones. She",
            "corrected_text": "stones? She",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:49:50.025449",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:36:20.386044",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennan, said",
            "corrected_text": "Clennan, \"said",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Doyce.\"",
            "corrected_text": "Doyce!\"",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "extent. But",
            "corrected_text": "extent; but",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man to? If",
            "corrected_text": "man to? \"If",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "leads him.\"",
            "corrected_text": "leads him!\"",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "go?\" said",
            "corrected_text": "go?\" said",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennan.",
            "corrected_text": "said Clennan. \"asked",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:54:38.792201",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:31:50.255989",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennan, said",
            "corrected_text": "Clennan, said",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennan, said",
            "corrected_text": "Clennan, said",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennan, said",
            "corrected_text": "Clennan, said",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:59:13.448262",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:24:57.236808",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennan, said",
            "corrected_text": "Clennan, said",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennan, said",
            "corrected_text": "Clennan, said",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennan",
            "corrected_text": "said Clennan.",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennan",
            "corrected_text": "said Clennan,",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "asked",
            "corrected_text": "asked.",
            "observed_line_number": 45,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:50:19.859557",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:30:37.289060",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said (comma)",
            "corrected_text": "said,",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The predicted edit also represents adding a comma after \"said\" (\"said\" \u2192 \"said,\"). Although the prediction omits the following word \"when\" and uses a slightly odd original_text representation (\"said (comma)\"), it still captures the core intended punctuation change: placing a comma immediately after \"said.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:55:05.509064",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:31:49.538431",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said (comma)",
            "corrected_text": "said,",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The prediction captures the same core punctuation change by converting \"said\" to \"said,\" (even though it does not include the following word \"when\"). This still reflects the essential intended edit: adding a comma immediately after \"said.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:59:41.264453",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:25:29.929513",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said (comma)",
            "corrected_text": "said,",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The predicted edit indicates adding a comma after \"said\" (\"said\" \u2192 \"said,\"). Although the prediction does not include the following word \"when\" and represents the source as \"said (comma),\" it captures the core intended change: inserting a comma immediately after \"said.\" Therefore, the essential edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:50:40.810736",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:30:43.162114",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:55:26.896866",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:32:35.334177",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T09:00:02.158495",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:26:20.427205",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:51:07.764019",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:30:47.326229",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sudden with",
            "corrected_text": "sudden, with",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:55:47.921412",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:33:49.745007",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sudden with",
            "corrected_text": "sudden, with",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T09:00:27.491686",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:26:56.680084",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sudden with",
            "corrected_text": "sudden, with",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:51:31.106393",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:31:28.718354",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you\"",
            "corrected_text": "you,\"",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "face. \"I",
            "corrected_text": "face, \"I",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Gowan,\"",
            "corrected_text": "Gowan,\" ",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sympathy \u2014 what",
            "corrected_text": "sympathy \u2014 what",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me.\"",
            "corrected_text": "me.\"",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam. \"My",
            "corrected_text": "Clennam, \"My",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No!",
            "corrected_text": "No!\"",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "confidence-",
            "corrected_text": "confidence,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tially up into his face, as",
            "corrected_text": "tially up into his face, as",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him, as",
            "corrected_text": "him, as",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him, as they",
            "corrected_text": "him, as they",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, \"said",
            "corrected_text": "Clennam, \"said",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you.\"",
            "corrected_text": "you!\"",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hope; so",
            "corrected_text": "hope; so",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "disappointed.\"",
            "corrected_text": "disappointed!\"",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, \"Can",
            "corrected_text": "Clennam, \"Can",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it?\"",
            "corrected_text": "it?\"",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam! Good, generous Mr.",
            "corrected_text": "Clennam! Good, generous Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:56:09.101830",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:02:18.523366",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you\" she",
            "corrected_text": "you,\" she",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Gowan, said",
            "corrected_text": "Gowan,\" said",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sympathy \u2014 what",
            "corrected_text": "sympathy\u2014what",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, say",
            "corrected_text": "Clennam; say",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, at",
            "corrected_text": "Clennam, as",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, said",
            "corrected_text": "Clennam, \"said",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hope, so",
            "corrected_text": "hope; so",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hope, so",
            "corrected_text": "hope, so",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T09:00:48.803617",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:43:46.884595",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you\" she",
            "corrected_text": "you,\" she",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "face. \"I",
            "corrected_text": "face, \"I",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him. He",
            "corrected_text": "him, he",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him, and",
            "corrected_text": "him, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennan, \"My",
            "corrected_text": "Clennan; \"My",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you!\" He",
            "corrected_text": "you!\" He",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "face, as",
            "corrected_text": "face, as",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him, as",
            "corrected_text": "him, as",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him, as",
            "corrected_text": "him, as",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennan, \"said",
            "corrected_text": "Clennan, \"said",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you.\" Oh!",
            "corrected_text": "you.\" Oh!",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hope; I",
            "corrected_text": "hope; I",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "disappointed.\" He",
            "corrected_text": "disappointed.\" He",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennan, \"she",
            "corrected_text": "Clennan, \"she",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that,\" said",
            "corrected_text": "that,\" said",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:51:51.889156",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:30:56.592253",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:56:29.732315",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:15:20.674845",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly",
            "corrected_text": "directly,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T09:01:09.640869",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:44:36.091978",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clenam",
            "corrected_text": "Clenam,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clenam",
            "corrected_text": "Clenam,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "they are married",
            "corrected_text": "they are married.",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:52:19.415538",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:30:46.159118",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "than once",
            "corrected_text": "than, once",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:56:56.355881",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:15:56.209902",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now.\"",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "than",
            "corrected_text": "then",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "doors",
            "corrected_text": "doors,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T09:01:34.775785",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:46:06.701121",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur,\"",
            "corrected_text": "Arthur,\"",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur,\"",
            "corrected_text": "Arthur,\"",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thank you",
            "corrected_text": "thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thank you",
            "corrected_text": "\"thank you",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "things than",
            "corrected_text": "things once",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:52:45.621406",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:30:52.119973",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chapter XXIX.",
            "corrected_text": "Chapter XXIX. (cap)",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:57:17.086949",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:16:28.460318",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "THE house",
            "corrected_text": "THE (cap) house",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T09:01:59.856392",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:46:43.474923",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chapter XXIX.",
            "corrected_text": "Chapter XXIX. (cap)",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:53:06.629541",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:51:39.157030",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, \"not",
            "corrected_text": "Clennam, \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam. \"Generous",
            "corrected_text": "Clennam. \"Generous",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Christian, \"that",
            "corrected_text": "Christian, \"that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him, \"but",
            "corrected_text": "him, \"but",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, \"I",
            "corrected_text": "Clennam, \"I",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, \"I",
            "corrected_text": "it, \"I",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, \"but",
            "corrected_text": "it, \"but",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:57:38.315190",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:17:07.679444",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, \"not",
            "corrected_text": "Clennam, \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam. \"Generous",
            "corrected_text": "Clennam. \"Generous",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Christian, \"that",
            "corrected_text": "Christian, \"that",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, \"I have",
            "corrected_text": "Clennam, \"I have",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Italicize",
            "corrected_text": "Italicize",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T09:02:21.303759",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:48:13.504019",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, \"not",
            "corrected_text": "Clennam, \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam. \"Generous",
            "corrected_text": "Clennam. \"Generous",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Christian, \"that",
            "corrected_text": "Christian, \"that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him, \"but",
            "corrected_text": "him, \"but",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam, \"I",
            "corrected_text": "Clennam, \"I",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, \"I",
            "corrected_text": "it, \"I",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, \"but",
            "corrected_text": "it, \"but",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:53:31.189686",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T07:30:49.710044",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Pancks",
            "corrected_text": "Pancks,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T08:58:03.898195",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:17:35.162544",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Pancks took",
            "corrected_text": "Pancks, took",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Pancks",
            "corrected_text": "Pancks,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemma_4_27b",
        "date": "2026-04-04T09:02:42.009432",
        "annotator": "Gemma 4 27B",
        "annotation_date": "2026-04-04T08:48:47.731160",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Google",
    "release_date": "2026-04-02",
    "release_source": "https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/"
  },
  {
    "model_name": "Gemma 4 31B",
    "model_id": "or_gemma_4_31b",
    "date": "2026-04-04T10:43:13.799660",
    "shots": 2,
    "config": {
      "model_id": "or_gemma_4_31b",
      "display_name": "Gemma 4 31B",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-04-03",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Gemma 4 31B",
    "annotation_date": "2026-04-04T09:20:06.353115",
    "file_results": [
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:24:25.411985",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:20:06.353115",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"pockets and\" to \"pockets, and\"\u2014inserting a comma after \"pockets.\" This captures the core intended change with no substantive discrepancy. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over yonder to-day, Sir",
            "corrected_text": "howling over yonder to-day, sir",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, sir",
            "corrected_text": "to-day, sir,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:31:06.024383",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:45:47.382822",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over yonder to-day, sir, is there?\"",
            "corrected_text": "howling over yonder to-day, sir, is there?\"",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:37:24.630680",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:00:09.637994",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over yonder to-day, Sir, is there?\"",
            "corrected_text": "howling over yonder to-day, Sir, is there?\"",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:24:51.232911",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:21:01.758169",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine to-",
            "corrected_text": "why did he dine to- [CAP question mark]",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:31:35.332953",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:47:23.102449",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "might blame",
            "corrected_text": "might blame (cap question mark)",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "No, sir",
            "corrected_text": "No, sir",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:37:49.562342",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:01:02.223920",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why",
            "corrected_text": "CAP question mark",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:25:22.921600",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:21:57.884606",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth replaces the verb phrase \"said Clennam\" with \"asked Clennam\", i.e., the essential correction is changing \"said\" to \"asked\" while keeping the surrounding context. The predicted edit replaces \"said\" with \"asked\". Although it omits the trailing context (\"Clennam\") from the replacement span, it still captures the core intended change (\"said\" \u2192 \"asked\"). Therefore, the text content aligns with the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Mr.oyce.\"",
            "corrected_text": "Mr. Doyle.\" Cap",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:32:00.186703",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:48:09.775353",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 37,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth intends to change the verb \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures this core substitution by replacing \"said\" with \"asked\". Although it omits the surrounding context (\"Clennam\"), it still represents the essential intended edit, which is the verb change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Moyce.\"",
            "corrected_text": "Moyce.\" Cap",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "do? \"True",
            "corrected_text": "do? If True",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:38:18.827536",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:04:10.426963",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are a \"replacement\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb phrase from \"said Clennam\" to \"asked Clennam\"\u2014the essential correction is replacing \"said\" with \"asked.\" The predicted edit replaces \"said\" with \"asked\" as well, just with less surrounding context (omitting \"Clennam\"). Since it captures the core intended change, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Mr.oyce.\"",
            "corrected_text": "Mr. Doyle.\" Cap",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:25:54.390368",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:23:50.549928",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said (comma)",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when\". The prediction indicates \"said\" \u2192 \"said (comma)\", which communicates adding a comma immediately after \"said\". Although it omits the following word \"when\" and uses a descriptive notation rather than literally showing \"said,\", it still captures the core intended change: insert a comma after \"said\" before the next word.\n\nTherefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:32:21.885517",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:48:58.592531",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said (comma)",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:38:43.750612",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:08:30.205210",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said (comma)",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:26:20.600341",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:24:40.751652",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:32:42.753877",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:49:48.066580",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:39:08.732140",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:09:29.774386",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:26:52.436438",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:26:14.710566",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar-trees,",
            "corrected_text": "poplar-trees, hyphen",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "sodden with wet",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:33:13.853128",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:52:28.233487",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar-trees,",
            "corrected_text": "poplar-trees, hyphen",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "sodden with wet",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:39:40.547256",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:11:50.643530",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "poplar-trees,",
            "corrected_text": "poplar-trees, hyphen",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "sodden with wet",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:27:23.181581",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:38:17.453030",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 7,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"heart so\" and the same corrected text \"heart, so\", capturing the identical core change (inserting a comma after \"heart\"). Line number differences are to be ignored, so the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "generous Mr. Clennam",
            "corrected_text": "generous Mr. Clennam",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up",
            "corrected_text": "indexed tially up",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "(as she did, if it be the source of earnestness),",
            "corrected_text": "",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:33:45.085006",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:54:33.361980",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 7,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"heart so\" to \"heart, so\"\u2014inserting a comma after \"heart.\" This captures the core intended correction with identical original and corrected text.\n\nLine numbers are ignored as instructed, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "generous Mr. Clennam",
            "corrected_text": "generous Mr. Clennam",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up",
            "corrected_text": "indexed tially up",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "(as she did, if it be the source of earnestness),",
            "corrected_text": "",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:40:09.826695",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:15:46.718706",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 7,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"heart so\") and the same correction (\"heart, so\"), capturing the identical core change\u2014adding a comma after \"heart.\" Line numbers are to be ignored, so the difference in line_number does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "generous Mr. Clennam",
            "corrected_text": "generous Mr. Clennam",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up",
            "corrected_text": "indexed tially up",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "(as she did, if it be the source of earnestness),",
            "corrected_text": "",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:27:57.442851",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:40:48.463738",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "two from hers and",
            "corrected_text": "two from hers, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and\". The predicted edit applies the same core punctuation change within a longer context: \"two from hers and\" \u2192 \"two from hers, and\". This captures the essential intended correction (comma insertion after \"hers\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers\". The core change is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same correction (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Line numbers are ignored per instructions, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "peace or",
            "corrected_text": "peace, or",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "peace he",
            "corrected_text": "peace, he",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "At this",
            "corrected_text": "(Cap) At this",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly They",
            "corrected_text": "directly, They",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:34:19.983528",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:55:18.446396",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "two from hers and",
            "corrected_text": "two from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth core change is inserting a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and\". The prediction applies the same comma insertion within a longer span of surrounding text: \"two from hers and\" \u2192 \"two from hers, and\". This includes additional context but preserves the essential punctuation change at the correct location. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change: inserting a comma after \"hers\" in the phrase \"hers matters\" to become \"hers, matters.\" The original and corrected texts match the ground truth intention exactly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"moment with\") and the same corrected_text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "At this",
            "corrected_text": "(Cap) At this",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly They",
            "corrected_text": "directly, They",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:40:46.607024",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:16:40.081792",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "two from hers and",
            "corrected_text": "two from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"hers\" (\"hers and\" \u2192 \"hers, and\"). The predicted edit applies the same core punctuation change, adding a comma after \"hers\" within a longer snippet (\"two from hers and\" \u2192 \"two from hers, and\"). The additional surrounding context does not alter the essential edit, and the intended punctuation insertion is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"moment with\" \u2192 \"moment, with\", inserting a comma after \"moment\". This captures the core intended change precisely. Line numbers are to be ignored, so the difference there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on her matters",
            "corrected_text": "on her, matters",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for his peace",
            "corrected_text": "for his peace,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "At this",
            "corrected_text": "(Cap) At this",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly They",
            "corrected_text": "directly, They",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:28:23.796414",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:41:44.079856",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:34:44.711827",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:56:22.628372",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:41:11.325307",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:19:39.657125",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:29:33.823971",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:42:33.210080",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change the same token from \"city\" to \"City,\" capturing the identical core capitalization correction with no differences in content.\n\nTherefore, the prediction correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit adds a comma after \"existence\" within a longer span (\"busy existence at\" \u2192 \"busy existence, at\"). This captures the same core punctuation insertion at the same target word; the extra surrounding context does not change the essential edit.\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit applies the same core change, adding a comma after \"view\" within a slightly longer context (\"view by\" \u2192 \"view, by\"). This preserves the essential intended punctuation correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "reluctant return",
            "corrected_text": "reluctant return",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them images",
            "corrected_text": "with them; images",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from it to",
            "corrected_text": "from it; to",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege",
            "corrected_text": "lord",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:35:54.425464",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:57:18.600470",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth changes \"city\" to \"City\". The predicted edit also changes \"city\" to \"City\", capturing the same core correction with identical original and corrected text.\n\nSince both the edit type and the essential text change match the ground truth intention, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 13,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction adds a comma after \"existence\" within a longer span (\"busy existence at\" \u2192 \"busy existence, at\"). This captures the same core punctuation change, merely with additional surrounding context. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by any",
            "corrected_text": "view, by any",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change, inserting a comma immediately after \"view\" within a longer span (\"view by any\" \u2192 \"view, by any\"). The additional surrounding words are acceptable context and do not alter the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "reluctant return",
            "corrected_text": "reluctant return",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them images",
            "corrected_text": "with them; images",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to suppose",
            "corrected_text": "it; to suppose",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to be",
            "corrected_text": "stand-still; to be",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege",
            "corrected_text": "lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:42:12.302420",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:21:29.731066",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are of type \"capitalization\", so the type matches exactly. Text Content Accuracy: Both specify the same core change, converting \"city\" to \"City\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 13,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit adds a comma after \"existence\" within a larger phrase (\"busy existence at\" \u2192 \"busy existence, at\"). This captures the same core intended punctuation change, merely with additional surrounding context. Therefore, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit applies the same core change\u2014adding a comma immediately after \"view\"\u2014but includes extra surrounding context (\"view by\" \u2192 \"view, by\"). Since the essential intended change (inserting a comma after \"view\") is captured correctly, the content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "reluctant return",
            "corrected_text": "reluctant return",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence to",
            "corrected_text": "existence; to",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them images",
            "corrected_text": "with them; images",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege",
            "corrected_text": "lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:30:11.620045",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:43:25.458753",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "throptic",
            "corrected_text": "throptic",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "your hands. I authorise",
            "corrected_text": "your hands. I authorise",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dres",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:36:32.304079",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:58:45.884039",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "throptic",
            "corrected_text": "throptic",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "your hands",
            "corrected_text": "your hands",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dres",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:42:48.691744",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:23:09.153597",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "your hands",
            "corrected_text": "your hands",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dres",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:30:36.385101",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:44:12.687740",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:36:57.110894",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T09:59:28.279839",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemma_4_31b",
        "date": "2026-04-04T10:43:13.799660",
        "annotator": "Gemma 4 31B",
        "annotation_date": "2026-04-04T10:23:49.927106",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Google",
    "release_date": "2026-04-02",
    "release_source": "https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/"
  },
  {
    "model_name": "Google: Gemini 2.0 Flash",
    "model_id": "or_gemini_2_0_flash_001",
    "date": "2026-02-22T15:43:59.613487",
    "shots": 2,
    "config": {
      "model_id": "or_gemini_2_0_flash_001",
      "display_name": "Google: Gemini 2.0 Flash",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Google: Gemini 2.0 Flash",
    "annotation_date": "2025-04-07T22:20:27.374180",
    "file_results": [
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:14.733289",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:20:27.374180",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder to-day,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:11.187100",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:00:10.412532",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir, is",
            "corrected_text": "Sir, is",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:16.107934",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T07:59:57.430169",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder to-day,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:11.187335",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:20:48.272175",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "CAP",
            "observed_line_number": 57,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones",
            "corrected_text": "cold stones?",
            "observed_line_number": 59,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:17.043729",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:00:31.667409",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "CAP",
            "observed_line_number": 58,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones",
            "corrected_text": "cold stones?",
            "observed_line_number": 60,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:17.044369",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T08:00:18.108515",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "CAP",
            "observed_line_number": 56,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones",
            "corrected_text": "cold stones?",
            "observed_line_number": 58,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:29.487242",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:21:06.506358",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 77,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "asked",
            "corrected_text": "Asked",
            "observed_line_number": 79,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:29.488925",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:00:49.980581",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 103,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "asked",
            "corrected_text": "Asked",
            "observed_line_number": 105,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:32.353333",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T08:00:40.711719",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 77,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "asked",
            "corrected_text": "Asked",
            "observed_line_number": 79,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:37.785205",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:21:27.462629",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:36.331429",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:01:10.978090",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:38.178661",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T08:01:03.452931",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:41.730399",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:21:45.658368",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core punctuation change is identical, so the predicted edit captures the ground truth intention."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:35.865976",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:01:28.734399",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the same core punctuation correction with identical original and corrected text."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:42.373700",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T08:01:25.182175",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core correction\u2014adding a period to change \"Sun and Shadow\" to \"Sun and Shadow.\". The original and corrected texts match the ground truth intention precisely."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:51.914099",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:22:06.792507",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "trees",
            "corrected_text": "trees,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "fact",
            "corrected_text": "fact.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hand",
            "corrected_text": "hand;",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:42:51.499799",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:01:50.498297",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "trees",
            "corrected_text": "trees, hyphen",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:15.152482",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T08:01:48.155140",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "trees",
            "corrected_text": "trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "row",
            "corrected_text": "row,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "autumn",
            "corrected_text": "autumn,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "late",
            "corrected_text": "'A late",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hyphen",
            "corrected_text": "hyphen",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dull",
            "corrected_text": "dull,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Sa\u00f4ne",
            "corrected_text": "Sa\u00f4ne,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:05.571723",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:22:28.170132",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "indeed",
            "corrected_text": "indeed,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:07.292188",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:02:12.331909",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "indeed",
            "corrected_text": "indeed,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hope I",
            "corrected_text": "hope; I",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hope so",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:08.450671",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T08:02:10.620280",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "indeed",
            "corrected_text": "indeed,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:05.326399",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:22:47.017963",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "directly, they",
            "corrected_text": "directly, they",
            "observed_line_number": 51,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:09.228931",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:02:31.117180",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "directly, they",
            "corrected_text": "directly, they",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:09.685606",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T08:02:30.868797",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "directly, they",
            "corrected_text": "directly, they",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:16.770217",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:23:08.366198",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "fancy",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you!",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "within",
            "corrected_text": "within-doors",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "than",
            "corrected_text": "that",
            "observed_line_number": 52,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:23.224531",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:02:53.046619",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you!",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:29.525017",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T08:02:54.214448",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you!",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:33.278776",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:23:27.920945",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "fity",
            "corrected_text": "city",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "existedat",
            "corrected_text": "existed at",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "legel",
            "corrected_text": "liege",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:41.882144",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:03:14.314799",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "existedat",
            "corrected_text": "existed at",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liegelord",
            "corrected_text": "liege lord",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "copy",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:47.197763",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T08:03:18.961643",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "legel",
            "corrected_text": "liege",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "copy",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence.",
            "corrected_text": "existence",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:40.712187",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:23:49.426431",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest snorts",
            "corrected_text": "dryest snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that",
            "corrected_text": "that a",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:44.594846",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:03:37.423302",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "italicize",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driestsnorts.",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:50.136568",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T08:03:41.884436",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "italicize",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts.",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:46.202989",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T22:24:13.821095",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:53.730286",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-07T23:04:04.619698",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_gemini_2_0_flash_001",
        "date": "2026-02-22T15:43:59.613487",
        "annotator": "Google: Gemini 2.0 Flash",
        "annotation_date": "2025-04-08T08:04:06.584383",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Google",
    "release_date": "2025-02-05",
    "release_source": "https://developers.googleblog.com/en/gemini-2-family-expands/"
  },
  {
    "model_name": "Grok 4",
    "model_id": "or_grok_4",
    "date": "2026-02-22T18:37:19.072777",
    "shots": 2,
    "config": {
      "model_id": "or_grok_4",
      "display_name": "Grok 4",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-02-22",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Grok 4",
    "annotation_date": "2026-02-22T18:01:45.783245",
    "file_results": [
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:35:42.579235",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:01:45.783245",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "N more",
            "corrected_text": "No more",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "is there",
            "corrected_text": "Is there",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "may it be sure",
            "corrected_text": "you may be sure",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles we",
            "corrected_text": "Marseilles, we",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "good humour",
            "corrected_text": "good-humour",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "parapet wall",
            "corrected_text": "parapet-wall",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "seilles and",
            "corrected_text": "seilles; and",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "other. \"",
            "corrected_text": "other, \"",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "But we",
            "corrected_text": "but we",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "first. \"",
            "corrected_text": "first, \"",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "It's almost",
            "corrected_text": "it's almost",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:35:59.618878",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:02:47.187084",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "N o",
            "corrected_text": "No",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day.",
            "corrected_text": "to-day,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "is",
            "corrected_text": "Is",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "there",
            "corrected_text": "there?",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir",
            "corrected_text": "Sir?",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:35:45.477261",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:13:04.657131",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir is",
            "corrected_text": "Sir; is",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Them",
            "corrected_text": "Then",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Ah! but",
            "corrected_text": "Ah, but",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "allegro",
            "corrected_text": "allonging",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "marsehonging",
            "corrected_text": "marshonging",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "blaze",
            "corrected_text": "blazes",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "paraget",
            "corrected_text": "parapet",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "parapet wall",
            "corrected_text": "parapet-wall",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Allegro",
            "corrected_text": "Allonging",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "marsehong",
            "corrected_text": "marshonging",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "indeed",
            "corrected_text": "eh",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eh.",
            "corrected_text": "eh!",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day,",
            "corrected_text": "to-day!",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "first",
            "corrected_text": "little man",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "for",
            "corrected_text": "offence",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:35:45.266030",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:00:41.020777",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Purring",
            "corrected_text": "Putting",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "women,",
            "corrected_text": "",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "had he failed? If there was, that of anger which, Why he always",
            "corrected_text": "",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "simultaneous",
            "corrected_text": "simply known",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "guide pale",
            "corrected_text": "guide, pale",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "eliminated",
            "corrected_text": "remained",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "jer ked",
            "corrected_text": "jerked",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "impercept",
            "corrected_text": "imperceptible",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fed; looking",
            "corrected_text": "fed, looking",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "and a child",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:35:43.968020",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T17:59:25.626473",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "thing",
            "corrected_text": "Thing",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fascinated him",
            "corrected_text": "fascinated him.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "he had believed",
            "corrected_text": "simply known",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "retribution that",
            "corrected_text": "retribution, that",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that they did",
            "corrected_text": "",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:35:44.778891",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:11:25.805509",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that of a single check",
            "corrected_text": "Why did he know",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "he had believed that there was a misunderstanding",
            "corrected_text": "simply knew",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:35:44.778336",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:09:01.820230",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Perusburg",
            "corrected_text": "Petersburg",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Britain",
            "corrected_text": "British",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Rebellful",
            "corrected_text": "Rebellion",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Bararias",
            "corrected_text": "Bavaria",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Rothenhal",
            "corrected_text": "Rothenthal",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "what ever",
            "corrected_text": "whatever",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "turned",
            "corrected_text": "turn",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "your",
            "corrected_text": "Your",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "servicable",
            "corrected_text": "unserviceable",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "he must follow where it leads him.",
            "corrected_text": "Hadn't he better set it going?",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:35:49.884316",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:11:44.262703",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "what",
            "corrected_text": "that",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "great british legion of honour",
            "corrected_text": "Great British Legion of Honour",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prince who",
            "corrected_text": "prince, who",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "taboured",
            "corrected_text": "laboured",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hard hard",
            "corrected_text": "hard, hard",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "do he",
            "corrected_text": "do? If he",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:35:42.578013",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:16:20.613050",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is much to be regretted",
            "corrected_text": "It is much to be regretted",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Doyle",
            "corrected_text": "Doyce",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do",
            "corrected_text": "do?",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "god Clemsam",
            "corrected_text": "god full Clemsam",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "god",
            "corrected_text": "God",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Clemsam",
            "corrected_text": "Clennam",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:02.361140",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T17:54:52.141158",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highland",
            "corrected_text": "high-land",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "judgment - all",
            "corrected_text": "judgment\u2014all",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sailor hat limitation",
            "corrected_text": "self-limitation",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "reddened",
            "corrected_text": "reddening",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it. there",
            "corrected_text": "it, there",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "some times",
            "corrected_text": "sometimes",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Little Dorrit",
            "corrected_text": "Little Dorrit",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "carramba",
            "corrected_text": "carramba",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Tempest tossed",
            "corrected_text": "Tempest-tossed",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "carramba",
            "corrected_text": "carramba",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "L'ami",
            "corrected_text": "L'ami",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "my heart",
            "corrected_text": "My heart",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "chatting",
            "corrected_text": "shaking",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:02.369418",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:04:58.098367",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "instance and",
            "corrected_text": "instance, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "highest",
            "corrected_text": "slender",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sailor but",
            "corrected_text": "sailor, but",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Francis",
            "corrected_text": "France",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "made use of it. Little more than once when he wondered that he",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "inscrupulous",
            "corrected_text": "unscrupulous",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "not an",
            "corrected_text": "not in an",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Temporary",
            "corrected_text": "Remand",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "my heart",
            "corrected_text": "My heart",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "stopped night",
            "corrected_text": "stopped at night",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "home",
            "corrected_text": "home,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "girl passionate",
            "corrected_text": "girl, passionate",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "it",
            "corrected_text": "sit",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:08.709559",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:25:35.520067",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sunset than",
            "corrected_text": "sunset, than",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "highland",
            "corrected_text": "Highland",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highland peril",
            "corrected_text": "highland-peril",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rain pre-",
            "corrected_text": "rain, pre-",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "judgment -",
            "corrected_text": "judgment, -",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clammy and",
            "corrected_text": "clammy, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "n.b.",
            "corrected_text": "N.B.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sailor hat",
            "corrected_text": "sailor-hat",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "limitation",
            "corrected_text": "limitation,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "The removal of Little Dorrit home.",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "home",
            "corrected_text": "home,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sons",
            "corrected_text": "sons,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her and",
            "corrected_text": "her, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her she",
            "corrected_text": "her, she",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "master and",
            "corrected_text": "master, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Temporary",
            "corrected_text": "corrected",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "do you mean?",
            "corrected_text": "Do you mean?",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "night and",
            "corrected_text": "night, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:09.635073",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T17:55:32.248515",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "T",
            "corrected_text": "Thirty years ago, Marseilles lay burning in the sun, one day.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "were as if made of countenance by staring white and ",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "been",
            "corrected_text": "had been",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "in return, ",
            "corrected_text": "by the sun ",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "staring white",
            "corrected_text": "staring white houses, staring white walls, staring white streets, staring tracts of arid road, staring hills from afar",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ", Painted Pierre7",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:08.140158",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:14:19.382360",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "T",
            "corrected_text": "Thirty years ago, Marseilles lay burning in the sun, one day.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "and been",
            "corrected_text": "and had been",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "urns",
            "corrected_text": "turns",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ", Painted Pierre?",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:14.646657",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:18:42.014519",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "T",
            "corrected_text": "Thirty years ago, Marseilles lay burning in the sun, one day.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "were",
            "corrected_text": "was",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "as if",
            "corrected_text": "",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "made of",
            "corrected_text": "stared out of",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "universe",
            "corrected_text": "universal staring",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "and been stared at in return",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow, Painted Pierre?",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:11.737010",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T17:55:22.566163",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "seine",
            "corrected_text": "Seine",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "and afraid",
            "corrected_text": "and half afraid",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "lay",
            "corrected_text": "laid",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "puff of",
            "corrected_text": "puff of wind",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wind depressing",
            "corrected_text": "wind, depressing",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "solitary and",
            "corrected_text": "solitary; and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "fast, was",
            "corrected_text": "fast, he was",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "new wood in his hand, many, footworn",
            "corrected_text": "lone man, hairy, forlorn",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "the wet",
            "corrected_text": "lime",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "plucking",
            "corrected_text": "plashing",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sullenly but",
            "corrected_text": "sullenly, but",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "with ness",
            "corrected_text": "with chillness",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ", solid as lead, wringing",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:20.215964",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:14:24.736077",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moons floated",
            "corrected_text": "moons, floated",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Chateaux",
            "corrected_text": "Chalons",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "lay so long",
            "corrected_text": "lying low",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "depressing solitary",
            "corrected_text": "depressing, solitary",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "and",
            "corrected_text": "as",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fast was",
            "corrected_text": "fast, was",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "avoided",
            "corrected_text": "avoiding",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "such as",
            "corrected_text": "stick",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of new",
            "corrected_text": "of rude",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hand, many",
            "corrected_text": "hand; many",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "many",
            "corrected_text": "weary",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "footsores",
            "corrected_text": "footsore",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "and he were",
            "corrected_text": "as he was",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was would",
            "corrected_text": "was, would",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "would have",
            "corrected_text": "would-be",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "being",
            "corrected_text": "king",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "king keeping",
            "corrected_text": "king, keeping",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "ness",
            "corrected_text": "endlessness",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "chill I",
            "corrected_text": "chill! I",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:38.818239",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:15:37.151749",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Chalons",
            "corrected_text": "Ch\u00e2lons",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "streak",
            "corrected_text": "streaks",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "solitary and",
            "corrected_text": "solitary; and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "avoided",
            "corrected_text": "averted",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "wood",
            "corrected_text": "wound",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "many",
            "corrected_text": "manly",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "plucking",
            "corrected_text": "puckering",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "puckering the",
            "corrected_text": "puckering of the",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "measured",
            "corrected_text": "muttered",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "damnal",
            "corrected_text": "damnable",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "chill ness",
            "corrected_text": "chillness",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "chill I",
            "corrected_text": "chill! I",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "you",
            "corrected_text": "it",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "in",
            "corrected_text": "a",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "he",
            "corrected_text": "as",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:19.678256",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:03:13.538243",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Chanter",
            "corrected_text": "Chapter",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "ply",
            "corrected_text": "reply",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "rain- ing",
            "corrected_text": "replying",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "know",
            "corrected_text": "knew",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Inder",
            "corrected_text": "under",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "couragement",
            "corrected_text": "encouragement",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "God goodness",
            "corrected_text": "good gracious",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me you no not",
            "corrected_text": "don't",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped",
            "corrected_text": "said",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "You have very much to do of you.\" \"That's what I hope I am not disappointed how I love home.",
            "corrected_text": "well! I hope so; I am not disappointed.",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:19.679667",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:06:19.668754",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Clemman",
            "corrected_text": "Clennam",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bar",
            "corrected_text": "But",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time it",
            "corrected_text": "time, it",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "looking confidentially",
            "corrected_text": "looking indeed confidentially",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "You",
            "corrected_text": "You",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I hoped",
            "corrected_text": "I hoped",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "free will",
            "corrected_text": "free-will",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "choice but",
            "corrected_text": "choice, but",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Can",
            "corrected_text": "can",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam. \"",
            "corrected_text": "Clennam, \"",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:37.044907",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:34:28.530263",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chapter 29",
            "corrected_text": "Chapter 29 fly",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "looking cally",
            "corrected_text": "looking indoor cally",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "You can see",
            "corrected_text": "You I hope I can see",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:37.339196",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T17:55:39.586459",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "at fire",
            "corrected_text": "chance",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "it Italy",
            "corrected_text": "it in Italy",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "clemnam",
            "corrected_text": "Clennam",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "then I",
            "corrected_text": "then, I",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Mo. Doray",
            "corrected_text": "Mr. Dorrit",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "garden home",
            "corrected_text": "garden-home",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "his a",
            "corrected_text": "his face a",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "with look",
            "corrected_text": "with a look",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him and",
            "corrected_text": "him, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "vigour the",
            "corrected_text": "vigour, the",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "How I",
            "corrected_text": "How can I",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "other wise",
            "corrected_text": "otherwise",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:39.272700",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:07:19.598413",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "all",
            "corrected_text": "not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "at",
            "corrected_text": "the",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "it",
            "corrected_text": "in",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "ing",
            "corrected_text": "Thinking",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "My.",
            "corrected_text": "Mrs.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "movement",
            "corrected_text": "arm",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "harmanteaus lids",
            "corrected_text": "her arm",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "preach, thin.",
            "corrected_text": "the end",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "cined",
            "corrected_text": "inclined",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "can",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "directly",
            "corrected_text": "suddenly",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:39.271579",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:34:30.381167",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mind at once",
            "corrected_text": "mind, at once",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "at",
            "corrected_text": "the",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "do",
            "corrected_text": "Do",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "1",
            "corrected_text": "I",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "1",
            "corrected_text": "I",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "harmanettes",
            "corrected_text": "marionettes",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "preach, thin.",
            "corrected_text": "the end, into",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "his moment",
            "corrected_text": "his a moment",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "traumas in him",
            "corrected_text": "compassion for him",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thinking another",
            "corrected_text": "thinking of another",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:42.346343",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T17:53:08.279293",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "speaking silently",
            "corrected_text": "speaking, silently",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "up",
            "corrected_text": "Up",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "marked",
            "corrected_text": "murmured",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time) and",
            "corrected_text": "time), and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "advance were",
            "corrected_text": "that once were",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river. Pale",
            "corrected_text": "river; pale",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Pale",
            "corrected_text": "pale",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "seas",
            "corrected_text": "seas.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:46.500609",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:07:35.352657",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "stood",
            "corrected_text": "walked",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "silence then",
            "corrected_text": "silence, then",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "added.",
            "corrected_text": "parted.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "arthur.",
            "corrected_text": "Arthur.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy fur-",
            "corrected_text": "fancy-fur-",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "your mother",
            "corrected_text": "Mother",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "never",
            "corrected_text": "always",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sisters and",
            "corrected_text": "sisters, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Pet was the",
            "corrected_text": "Pet was, the",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "very well",
            "corrected_text": "Very well,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Very well",
            "corrected_text": "Very well,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:39.781079",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:19:51.488054",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "thag",
            "corrected_text": "that",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "fancy",
            "corrected_text": "fancy what",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Per",
            "corrected_text": "Pet",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Yes well",
            "corrected_text": "Yes, well",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "fur",
            "corrected_text": "further",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Thank you!",
            "corrected_text": "Thank you! said",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "thank you",
            "corrected_text": "Thank you",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "with-in doors",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "seas",
            "corrected_text": "seas.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:37:00.727853",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T17:58:48.686333",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Mai",
            "corrected_text": "Mrs",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "and the same",
            "corrected_text": "and with the same",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "its",
            "corrected_text": "it's",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Alfred",
            "corrected_text": "Affery",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "the city",
            "corrected_text": "London",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:36:59.154934",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:11:42.482358",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Goes on Dreaming",
            "corrected_text": "has another Dream",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the house",
            "corrected_text": "The house",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to the same",
            "corrected_text": "always the same",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "being however",
            "corrected_text": "being, however",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "abandoned and as",
            "corrected_text": "abandoned and, as",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "through to hear",
            "corrected_text": "brought to bear",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "daily like",
            "corrected_text": "daily life",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "force would",
            "corrected_text": "force, would",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her Little",
            "corrected_text": "her. Little",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "there with",
            "corrected_text": "there, with",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:37:02.363657",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:29:27.298614",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Mai",
            "corrected_text": "Mrs",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "T he",
            "corrected_text": "The",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to ing",
            "corrected_text": "turning",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "clockwork",
            "corrected_text": "clockwork",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "to",
            "corrected_text": "To",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "existence)",
            "corrected_text": "existence",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence. is",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "is",
            "corrected_text": "Is",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sometimes acts on",
            "corrected_text": "scenes and actors",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hear",
            "corrected_text": "bear",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "daily like",
            "corrected_text": "daily, like",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Allie was concerned",
            "corrected_text": "devotion",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it. to",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:37:05.780094",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:05:53.310062",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "radicate",
            "corrected_text": "eradicate",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "durthare",
            "corrected_text": "furtherance",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driel",
            "corrected_text": "driest",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:37:09.558076",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:28:41.615124",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driel",
            "corrected_text": "drizzle",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Pancks",
            "corrected_text": "Pancks",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "way",
            "corrected_text": "way",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:37:00.573311",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:27:25.346287",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "dried of earth",
            "corrected_text": "dried earth",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Pancks",
            "corrected_text": "Pancks",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:37:09.946785",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T17:58:15.161127",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Uttle",
            "corrected_text": "Little",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bedroom,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ill",
            "corrected_text": "ill,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "morning",
            "corrected_text": "morning,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "action",
            "corrected_text": "action),",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rapid speed",
            "corrected_text": "rapid-speed",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "down stairs",
            "corrected_text": "downstairs,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cripps's",
            "corrected_text": "Cripps's,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "slowly",
            "corrected_text": "slowly;",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time",
            "corrected_text": "time,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bright leaved",
            "corrected_text": "bright-leaved",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Kiona's",
            "corrected_text": "Flora's",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "breakfast time",
            "corrected_text": "breakfast-time.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bright",
            "corrected_text": "bright,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "ping on",
            "corrected_text": "going on",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Cucumber",
            "corrected_text": "Clennam",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:37:14.632513",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:12:30.398104",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Constant",
            "corrected_text": "Constantinople",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "papers he said",
            "corrected_text": "papers, he said",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "there but",
            "corrected_text": "there, but",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "who",
            "corrected_text": "Who",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Cucumber",
            "corrected_text": "you know",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Cucumber",
            "corrected_text": "apology",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "care as point",
            "corrected_text": "not to put too fine a point upon it",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_grok_4",
        "date": "2026-02-22T18:37:19.072777",
        "annotator": "Grok 4",
        "annotation_date": "2026-02-22T18:22:46.980011",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Constant's",
            "corrected_text": "Clennam's",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom while",
            "corrected_text": "bedroom, while",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "documents) to",
            "corrected_text": "documents to",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "do",
            "corrected_text": "drew",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "by",
            "corrected_text": "for",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "down stairs",
            "corrected_text": "down-stairs",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Caddy's",
            "corrected_text": "Clennam's",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "little Dorrit",
            "corrected_text": "Little Dorrit",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Constant",
            "corrected_text": "Clennam",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thought well",
            "corrected_text": "thought, well",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Constant",
            "corrected_text": "Clennam",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Cucumber",
            "corrected_text": "except",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Cucumber",
            "corrected_text": "except",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "xAI",
    "release_date": "2025-07-09",
    "release_source": "https://x.ai/news/grok-4"
  },
  {
    "model_name": "Grok 4 Fast",
    "model_id": "or_grok_4_fast",
    "date": "2026-02-22T18:39:05.604812",
    "shots": 2,
    "config": {
      "model_id": "or_grok_4_fast",
      "display_name": "Grok 4 Fast",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-02-22",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Grok 4 Fast",
    "annotation_date": "2026-02-22T18:19:27.227328",
    "file_results": [
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:37:29.884362",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:19:27.227328",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "N o",
            "corrected_text": "No",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Ab",
            "corrected_text": "Ah",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "other wise",
            "corrected_text": "otherwise",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sure;",
            "corrected_text": "sure,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "or either",
            "corrected_text": "of either",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "pur et net",
            "corrected_text": "pur et net",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling;",
            "corrected_text": "howling,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "yon der",
            "corrected_text": "yonder",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:37:35.489475",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:24:57.304872",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "N o",
            "corrected_text": "No",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Wh y",
            "corrected_text": "Why",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": " I ",
            "corrected_text": "I",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "up at a wall",
            "corrected_text": "over a parapet",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "ran g",
            "corrected_text": "rang",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to day",
            "corrected_text": "today",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "speaker",
            "corrected_text": "",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "yon der",
            "corrected_text": "yonder",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:37:19.383440",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:27:51.341091",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "N o",
            "corrected_text": "No",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mean? the",
            "corrected_text": "mean?, the",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "What's",
            "corrected_text": "What's,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "for.",
            "corrected_text": "fire.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:37:34.058539",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:20:26.178255",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "confidence in",
            "corrected_text": "confidence, in",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "too was",
            "corrected_text": "too, was",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "child who",
            "corrected_text": "child, who",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hours he",
            "corrected_text": "hours, he",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "prison if",
            "corrected_text": "prison, if",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "know he",
            "corrected_text": "know, he",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "father's that",
            "corrected_text": "father's, that",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "again 'Why",
            "corrected_text": "again, 'Why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "he story",
            "corrected_text": "the story",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the story",
            "corrected_text": "The Story",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:37:36.551793",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:25:06.292823",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "world with",
            "corrected_text": "world, with",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sang froid",
            "corrected_text": "sang-froid",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "you",
            "corrected_text": "You",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you 'You",
            "corrected_text": "you. 'You",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "easily that",
            "corrected_text": "easily, that",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "child who",
            "corrected_text": "child, who",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "chains How",
            "corrected_text": "chains. How",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "justification that",
            "corrected_text": "justification, that",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "place and",
            "corrected_text": "place, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Why said",
            "corrected_text": " 'Why,' said",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:37:36.959699",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:28:16.884434",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "know that",
            "corrected_text": "know, that",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fortress situated",
            "corrected_text": "fortress, situated",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "island just",
            "corrected_text": "island, just",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "languishes for",
            "corrected_text": "languishes, for",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "company is",
            "corrected_text": "company is,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "below One",
            "corrected_text": "below. One",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "his The",
            "corrected_text": "his. The",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "faria",
            "corrected_text": "Faria",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "history But",
            "corrected_text": "history. But",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hidden on",
            "corrected_text": "hidden, on",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:37:37.475530",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:20:30.939726",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "discovery",
            "corrected_text": "discovery,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "effort",
            "corrected_text": "effort,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "years",
            "corrected_text": "Britain",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "Morcerf",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "do J'up",
            "corrected_text": "does up",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Gesh",
            "corrected_text": "Dumas",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:37:47.030243",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:25:15.765891",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "goods and",
            "corrected_text": "goods, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wealth with",
            "corrected_text": "wealth, with",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making and",
            "corrected_text": "making, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "interest because",
            "corrected_text": "interest, because",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "purse which",
            "corrected_text": "purse, which",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "savage and",
            "corrected_text": "savage, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Lyons which",
            "corrected_text": "Lyons, which",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "himself in",
            "corrected_text": "himself, in",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Honor the",
            "corrected_text": "Honor, the",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Glimmer",
            "corrected_text": "Danglars",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Barma",
            "corrected_text": "Danglars",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Doyes",
            "corrected_text": "Danglars",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do If",
            "corrected_text": "do? If",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "leading",
            "corrected_text": "lead",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:37:47.250752",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:28:11.248718",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "once such",
            "corrected_text": "once, such",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "discovery self",
            "corrected_text": "discovery, self",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "under from",
            "corrected_text": "under, from",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "savage from",
            "corrected_text": "savage, from",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well; and",
            "corrected_text": "well; and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "legion",
            "corrected_text": "Legion",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Edmond",
            "corrected_text": "said, Edmond",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Morrel what",
            "corrected_text": "Morrel, what",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "J'our",
            "corrected_text": "your",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him said",
            "corrected_text": "him, said",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:37:48.060043",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:23:04.417801",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "little dorrit",
            "corrected_text": "Little Dorrit",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "father\u2019s all",
            "corrected_text": "father\u2019s, all",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "things making",
            "corrected_text": "things, making",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thing as",
            "corrected_text": "thing as\u2014",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gracious she",
            "corrected_text": "gracious, she",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time that",
            "corrected_text": "time, that",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her with",
            "corrected_text": "her, with",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mr clennam",
            "corrected_text": "Mr. Clennam",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "night book",
            "corrected_text": "night, book",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "get it",
            "corrected_text": "get it.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "maggy",
            "corrected_text": "Maggy",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:01.237256",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:26:02.718123",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "self sufficiency",
            "corrected_text": "self-sufficiency",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tears he",
            "corrected_text": "tears, he",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "up",
            "corrected_text": "said",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said\u2014",
            "corrected_text": "said.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "what",
            "corrected_text": "What",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "left up",
            "corrected_text": "left. up",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "up",
            "corrected_text": "Up",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "'g'",
            "corrected_text": "Maggy",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:01.234969",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:28:34.483365",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Mo's",
            "corrected_text": "Mr.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tears",
            "corrected_text": "tears,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "he up",
            "corrected_text": "he said",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "German-Jan's",
            "corrected_text": "Clennam's",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "what",
            "corrected_text": "what?",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "book said",
            "corrected_text": "book, said",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "G",
            "corrected_text": "G.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "what's",
            "corrected_text": "What's",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it?",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pass",
            "corrected_text": "pass,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "char",
            "corrected_text": "char.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "has",
            "corrected_text": "Has",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Now",
            "corrected_text": "Now.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "did",
            "corrected_text": "did.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Pray",
            "corrected_text": "'Pray",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "do",
            "corrected_text": "don't",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sell",
            "corrected_text": "sell'.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:02.473040",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:21:22.459604",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "T year",
            "corrected_text": "A year",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ago a",
            "corrected_text": "ago, a",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "France at",
            "corrected_text": "France, at",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "stood",
            "corrected_text": "set",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "out of countenance",
            "corrected_text": "in bold relief",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "white",
            "corrected_text": "the sky",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:03.000865",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:25:46.113825",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Pierre?",
            "corrected_text": "Pierre",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "France before",
            "corrected_text": "France, before",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "south of France",
            "corrected_text": "South of France",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "red and",
            "corrected_text": "red, and",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "universe",
            "corrected_text": "fence",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:05.185627",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:28:26.287584",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "south france",
            "corrected_text": "Southern France",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun of",
            "corrected_text": "sun, of",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "france them",
            "corrected_text": "France. On",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "since it",
            "corrected_text": "since, it",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "unbearable but",
            "corrected_text": "unbearable; but",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so The",
            "corrected_text": "so. The",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "strangers were",
            "corrected_text": "strangers, were",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:14.267295",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:21:58.852314",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Ley Loose.",
            "corrected_text": "The Loire.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grey yet",
            "corrected_text": "grey, yet",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "left lonely",
            "corrected_text": "left, lonely",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hands few",
            "corrected_text": "hands, few",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "nymphs nighting",
            "corrected_text": "nymph's lighting",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "glans musing",
            "corrected_text": "glans, musing",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "smell",
            "corrected_text": "small",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "damned",
            "corrected_text": "damned.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "like,",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:14.163146",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:26:41.723281",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "The If",
            "corrected_text": "The. If",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "there but",
            "corrected_text": "there; but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gray The",
            "corrected_text": "gray. The",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:14.162044",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:29:03.631668",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Gain",
            "corrected_text": "His",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "wet, ing",
            "corrected_text": "wetting",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "the by",
            "corrected_text": "by the",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "yell",
            "corrected_text": "feel",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "wrapping",
            "corrected_text": "chill",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:24.972533",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:23:07.741425",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trusting she",
            "corrected_text": "trusting, she",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "god bless",
            "corrected_text": "God bless",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lips At",
            "corrected_text": "lips. At",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes to",
            "corrected_text": "eyes, to",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hands his arm",
            "corrected_text": "hands in his arm",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "nally",
            "corrected_text": "finally",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "south",
            "corrected_text": "depth",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you'",
            "corrected_text": "you.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "minnie",
            "corrected_text": "Minnie",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "free and",
            "corrected_text": "free, and",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:28.119728",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:26:48.072274",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "happy",
            "corrected_text": "happy,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "friends",
            "corrected_text": "friends,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "arm",
            "corrected_text": "arm,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "nasally",
            "corrected_text": "naturally",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "in self",
            "corrected_text": "herself",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "course",
            "corrected_text": "Of course",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Miss.",
            "corrected_text": "Miss,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "\" she was going to answer",
            "corrected_text": "Mrs. Dombey,\" she was going to answer",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "her going to answer,",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:25.342964",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:28:59.061567",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sworn of trusting",
            "corrected_text": "sworn to trusting",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "happy",
            "corrected_text": "happy,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "He of the roses",
            "corrected_text": "He thought of the roses",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "O mother",
            "corrected_text": "O, mother",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Clamont",
            "corrected_text": "Dant\u00e8s",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "cation",
            "corrected_text": "vocation",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:33.304861",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:23:49.947205",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "At fire",
            "corrected_text": "At the fire",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rose. Do",
            "corrected_text": "rose? Do",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you, how",
            "corrected_text": "you. How",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "roses or from hers and",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blink with",
            "corrected_text": "blink, with",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "At this",
            "corrected_text": "So. At this",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "They",
            "corrected_text": "You",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "speaking",
            "corrected_text": "spoken",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I myself",
            "corrected_text": "I miss myself",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it.'",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:30.704054",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:26:20.602919",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "before and",
            "corrected_text": "before, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "clarian",
            "corrected_text": "Clarian",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "light at this",
            "corrected_text": "light at this",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "preach think",
            "corrected_text": "French think",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "speaking give",
            "corrected_text": "speaking, give",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "godless to",
            "corrected_text": "godless, to",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:34.750493",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:29:12.031249",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "At this",
            "corrected_text": "so. At this",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to How",
            "corrected_text": "to \u2014How",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "how I myself",
            "corrected_text": "How I myself",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "give it",
            "corrected_text": "give it.",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:34.753912",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:23:32.985181",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "daughter for",
            "corrected_text": "daughter, for",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "minutes up",
            "corrected_text": "minutes, up",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "their: ",
            "corrected_text": "theirs; ",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "maiden and",
            "corrected_text": "maiden, and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wharf and",
            "corrected_text": "wharf, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "flowing. Pale and",
            "corrected_text": "flowing. Pale, and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:45.733031",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:27:10.694820",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "up",
            "corrected_text": "walked up",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "little fellow",
            "corrected_text": "little-fellow",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "madame",
            "corrected_text": "Madame",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tears in her eyes",
            "corrected_text": "tears in her eyes,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "his bedside",
            "corrected_text": "his bedside.",
            "observed_line_number": 60,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:40.588915",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:29:26.221343",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "for a few",
            "corrected_text": "for a few minutes",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "one hot",
            "corrected_text": "one hot morning",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grown",
            "corrected_text": "grown.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "She has my mother",
            "corrected_text": "She has my mother,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "fur",
            "corrected_text": "further",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "moonlit",
            "corrected_text": "moonlight",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the",
            "corrected_text": "on the",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women the river",
            "corrected_text": "women, the river",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eternal",
            "corrected_text": "eternal.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in ",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:45.731950",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:24:14.285523",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sons",
            "corrected_text": "suns",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dragging",
            "corrected_text": "dream",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "had coach",
            "corrected_text": "had been removed from the coach",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "absent",
            "corrected_text": "absent,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "be you",
            "corrected_text": "but you",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "some and acts",
            "corrected_text": "some of his acts",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "egotistic mechanical",
            "corrected_text": "egotistic, mechanical",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "go the",
            "corrected_text": "go to the",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Mal Fleurs Gold of Dreams",
            "corrected_text": "Mal Fleurs Gold of Dreams",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:52.305626",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:27:26.976122",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Dreans",
            "corrected_text": "Dreams",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Transactions and",
            "corrected_text": "Transactions, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "machine like",
            "corrected_text": "machine, like",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sewn",
            "corrected_text": "seen",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "so much",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "to",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:56.015688",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:29:29.347608",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the",
            "corrected_text": "The",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "tremendous and",
            "corrected_text": "tremendous proportions and",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Rarely",
            "corrected_text": "Far",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "surprise",
            "corrected_text": "our surprise",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "surprise the",
            "corrected_text": "surprise, the",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "any",
            "corrected_text": "a higher",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "What",
            "corrected_text": "With",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:53.248049",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:24:42.390873",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "drill",
            "corrected_text": "drudge",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "intro",
            "corrected_text": "introduction",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Pangs",
            "corrected_text": "pangs",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "washed causing",
            "corrected_text": "washed, causing",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "nose, like",
            "corrected_text": "nose; like",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "An Apology for the Devil",
            "corrected_text": "An Apology for the Devil",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:58.903076",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:28:05.845997",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "drivel of earth",
            "corrected_text": "drizzle of earth",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sorry\" said",
            "corrected_text": "sorry,\" said",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Renaud \"that",
            "corrected_text": "Renaud, \"that",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chateau Renaud",
            "corrected_text": "Chateau-Renaud",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dantes \"He",
            "corrected_text": "Dantes,\" \"He",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "He s",
            "corrected_text": "He's",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:56.653354",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:29:14.578769",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dantes",
            "corrected_text": "Dant\u00e8s,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "dantes",
            "corrected_text": "Dant\u00e8s",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pounds",
            "corrected_text": "pounds,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "morning",
            "corrected_text": "morning.",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:38:53.248536",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:24:28.345647",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "breakfast which",
            "corrected_text": "breakfast, which",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "papers and",
            "corrected_text": "papers, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "weary that",
            "corrected_text": "weary, that",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "would and",
            "corrected_text": "would, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lit and",
            "corrected_text": "lit, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "madman would",
            "corrected_text": "madman, would",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you and",
            "corrected_text": "you, and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:39:04.435526",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:27:32.859501",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Monte Cristo",
            "corrected_text": "Monte-Cristo",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pale face and",
            "corrected_text": "pale face, and",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "upon him and",
            "corrected_text": "upon him, and",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_grok_4_fast",
        "date": "2026-02-22T18:39:05.604812",
        "annotator": "Grok 4 Fast",
        "annotation_date": "2026-02-22T18:29:45.511352",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bedroom.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "back",
            "corrected_text": "back,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dressed",
            "corrected_text": "dressed,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "point",
            "corrected_text": "point of",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "height",
            "corrected_text": "height.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hands",
            "corrected_text": "hands.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her",
            "corrected_text": "her,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sigh",
            "corrected_text": "sigh.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on",
            "corrected_text": "on,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "l'evesque",
            "corrected_text": "L'Evesque",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "xAI",
    "release_date": "2025-09-25",
    "release_notes": "Fast variant release date from xAI announcement about Grok 4 Fast availability."
  },
  {
    "model_name": "Grok 4.1 Fast",
    "model_id": "or_grok_4_1_fast",
    "date": "2026-02-22T17:30:29.145437",
    "shots": 2,
    "config": {
      "model_id": "or_grok_4_1_fast",
      "display_name": "Grok 4.1 Fast",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-02-22",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Grok 4.1 Fast",
    "annotation_date": "2026-02-22T17:16:55.999592",
    "file_results": [
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:03.438818",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:16:55.999592",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "no",
            "corrected_text": "No",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "ser",
            "corrected_text": "sear",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "happy other",
            "corrected_text": "happy, other",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles but",
            "corrected_text": "Marseilles, but",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles and",
            "corrected_text": "Marseilles, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "today",
            "corrected_text": "to-day",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fire",
            "corrected_text": "fire,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "i",
            "corrected_text": "I",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:28:50.931338",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:18:52.738529",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "no",
            "corrected_text": "No",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder pe jig",
            "corrected_text": "yonder-pe-jig",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "people",
            "corrected_text": "people,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "happy other",
            "corrected_text": "happy, other",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it, to",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "other voice",
            "corrected_text": "other-voice",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "he blazes",
            "corrected_text": "he, blazes",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:28:51.554544",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:20:27.643751",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Why but",
            "corrected_text": "Why, but",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseillais",
            "corrected_text": "Marseillais",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "exit",
            "corrected_text": "exist",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "parapet with",
            "corrected_text": "parapet, with",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Aleck and",
            "corrected_text": "Aleck, and",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "apposed",
            "corrected_text": "opposed",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "money it",
            "corrected_text": "money, it",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "'day",
            "corrected_text": "'day,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "fire",
            "corrected_text": "man",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:28:50.226097",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:17:36.321537",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "he to",
            "corrected_text": "he, to",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stole",
            "corrected_text": "stole,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sto",
            "corrected_text": "stolen",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "m\u00e9tier",
            "corrected_text": "trade",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "child!",
            "corrected_text": "Child!",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:28:50.226903",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:18:48.570524",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "own with",
            "corrected_text": "own, with",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "failures they'd",
            "corrected_text": "failures, they'd",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eggs with",
            "corrected_text": "eggs, with",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "child he'd",
            "corrected_text": "child, he'd",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "times",
            "corrected_text": "times.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "how",
            "corrected_text": "How",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "be if",
            "corrected_text": "be, if",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "subtleties that",
            "corrected_text": "subtleties, that",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "place and",
            "corrected_text": "place, and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No child",
            "corrected_text": "No, child",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:28:57.663191",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:21:03.040253",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "subtilit\u00e9s",
            "corrected_text": "subtilit\u00e9s",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Pourquoi ?",
            "corrected_text": "Pourquoi ?",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:28:50.932986",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:17:54.149575",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "back and",
            "corrected_text": "back, and",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "means he",
            "corrected_text": "means, he",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "increased from",
            "corrected_text": "increased, from",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "England with",
            "corrected_text": "England, with",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "regretted said",
            "corrected_text": "regretted, said",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "doyle",
            "corrected_text": "Doyle",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mr",
            "corrected_text": "Mr",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "way Mr",
            "corrected_text": "way, Mr",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "leads washing",
            "corrected_text": "leads\u2014washing",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:28:50.932066",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:18:37.085807",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "water with",
            "corrected_text": "water, with",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "more and",
            "corrected_text": "more, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "great britain",
            "corrected_text": "Great Britain",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Honour the",
            "corrected_text": "Honour, the",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "der Meric",
            "corrected_text": "Doyle",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do If",
            "corrected_text": "do. If",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Gellman",
            "corrected_text": "Doyle",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "servicable",
            "corrected_text": "serviceable",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:03.098803",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:20:54.682352",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ill success",
            "corrected_text": "ill-success",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "will",
            "corrected_text": "wall",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "lyons",
            "corrected_text": "Lyons",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "widower made",
            "corrected_text": "widower, made",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "regretted.",
            "corrected_text": "regretted,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "germain",
            "corrected_text": "Germain",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "no,",
            "corrected_text": "No,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "does Jup",
            "corrected_text": "does up",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "glowing serviceable",
            "corrected_text": "serviceable",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:08.616407",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:17:33.119746",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:11.615537",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:19:16.043028",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wife who",
            "corrected_text": "wife, who",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them making",
            "corrected_text": "them, making",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Astonished",
            "corrected_text": "Astonished",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Astonished",
            "corrected_text": "Astonished",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Germany in's",
            "corrected_text": "Germany. In's",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high",
            "corrected_text": "low",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:12.368183",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:21:13.005850",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "safe",
            "corrected_text": "sound",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "first bell",
            "corrected_text": "first-bell",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "whitey brown",
            "corrected_text": "whitey-brown",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "german",
            "corrected_text": "German",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "baronet",
            "corrected_text": "Baronet",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "know you",
            "corrected_text": "know, you",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high",
            "corrected_text": "higher",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:09.298452",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:16:59.431661",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Chapitre",
            "corrected_text": "Chapter",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow.,",
            "corrected_text": "Shadow,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Pised?",
            "corrected_text": "Paris",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hurry in",
            "corrected_text": "hurry, in",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "every-",
            "corrected_text": "everywhere,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sil.",
            "corrected_text": "he said.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:22.102732",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:18:47.505275",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Paris",
            "corrected_text": "Paris?",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sun",
            "corrected_text": "sun,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "france",
            "corrected_text": "France",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "siesta by",
            "corrected_text": "siesta, by",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "stood",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sail",
            "corrected_text": "sail.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:25.811730",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:21:16.394643",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow Paris",
            "corrected_text": "Shadow, Paris",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Paris",
            "corrected_text": "Paris?",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "french",
            "corrected_text": "French",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hurry southwards",
            "corrected_text": "hurry, southwards",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "been placed them",
            "corrected_text": "",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "any other time",
            "corrected_text": "",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "since",
            "corrected_text": "",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "been",
            "corrected_text": "",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "consequence staring",
            "corrected_text": "consequence, staring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "before since",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:31.876063",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:16:54.469204",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hot dull",
            "corrected_text": "hot, dull",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "half moons",
            "corrected_text": "half-moons",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heavy so",
            "corrected_text": "heavy, so",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "less raw",
            "corrected_text": "less",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "left lonely",
            "corrected_text": "left, lonely",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "difficulty and",
            "corrected_text": "difficulty, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him if",
            "corrected_text": "him, if",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "glancing but",
            "corrected_text": "glancing, but",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:31.526580",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:19:26.021669",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:31.523455",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:20:49.770238",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hot dull",
            "corrected_text": "hot, dull",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "like mulattos",
            "corrected_text": "like, mulattos",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mulattos",
            "corrected_text": "mulattos,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "half breeds",
            "corrected_text": "half-breeds",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lay so",
            "corrected_text": "lay, so",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heavy",
            "corrected_text": "heavy,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lonely",
            "corrected_text": "lonely,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "snow",
            "corrected_text": "snow,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him",
            "corrected_text": "him,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "here",
            "corrected_text": "here,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "glazing",
            "corrected_text": "glazing,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "why",
            "corrected_text": "why:",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:39.980523",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:17:05.475836",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clancy says",
            "corrected_text": "Clancy, says",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes as",
            "corrected_text": "eyes, as",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trouble and",
            "corrected_text": "trouble, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "waist and",
            "corrected_text": "waist, and",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "clancy",
            "corrected_text": "Clancy",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "herself with",
            "corrected_text": "herself, with",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Gowen as",
            "corrected_text": "Gowen, as",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "gowen",
            "corrected_text": "Gowen",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:43.249469",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:19:47.749403",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "rainily",
            "corrected_text": "smiling",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "returned\u2014",
            "corrected_text": "returned,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Carker seems",
            "corrected_text": "Carker, seems",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "clasping",
            "corrected_text": "Clennam, clasping",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hands his arm",
            "corrected_text": "hands in his arm",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "nally",
            "corrected_text": "finally",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "composure herself",
            "corrected_text": "composure about herself",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "south",
            "corrected_text": "strength",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "week-en",
            "corrected_text": "week-old",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "count",
            "corrected_text": "account",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Miss. Gowan",
            "corrected_text": "Miss Gowan",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I have",
            "corrected_text": "You have",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "cap tion",
            "corrected_text": "caption",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that.\" said",
            "corrected_text": "that,\" said",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I'do?",
            "corrected_text": "I do?",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "After ",
            "corrected_text": "",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:46.629814",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:21:43.307562",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "happy in",
            "corrected_text": "happy, in",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "walked He",
            "corrected_text": "walked. He",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "put",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "roses in breast",
            "corrected_text": "roses in his breast",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "confi\u2014 nally",
            "corrected_text": "confidently",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "south",
            "corrected_text": "sound",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "in",
            "corrected_text": "into",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "How love",
            "corrected_text": "How I love",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "went from",
            "corrected_text": "went on from",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Carker",
            "corrected_text": "said Carker",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "would say to his little friend her friends",
            "corrected_text": "",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:47.644707",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:17:12.247296",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "near",
            "corrected_text": "near,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "fire",
            "corrected_text": "Fire",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "her",
            "corrected_text": "here",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hand",
            "corrected_text": "hand\u2014",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Clarc",
            "corrected_text": "Clare",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quietly",
            "corrected_text": "quietly,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "proud er",
            "corrected_text": "prouder",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "had been thinking another your said he had with me",
            "corrected_text": "",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:51.277954",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:19:41.315559",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "before and",
            "corrected_text": "before, and",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "near it",
            "corrected_text": "near, it",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hand might",
            "corrected_text": "hand, might",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "rose Do",
            "corrected_text": "rose. Do",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "rome",
            "corrected_text": "Rome",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clam",
            "corrected_text": "Clam,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "book no",
            "corrected_text": "book, no",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "your",
            "corrected_text": "tour",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "this he",
            "corrected_text": "this, he",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "confidence you",
            "corrected_text": "confidence, you",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:50.079777",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:22:15.663349",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shook he",
            "corrected_text": "shook, he",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Passing this",
            "corrected_text": "Passing, this",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "known which",
            "corrected_text": "known \u2014 which",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "your said",
            "corrected_text": ", said",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "speaking give",
            "corrected_text": "speaking, give",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:50.079351",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:16:43.894360",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hot using",
            "corrected_text": "hot, using",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grown she",
            "corrected_text": "grown; she",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "child tenderly",
            "corrected_text": "child, tenderly",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "go said",
            "corrected_text": "go, said",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gently And",
            "corrected_text": "gently; And",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wharf and",
            "corrected_text": "wharf, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "short gently",
            "corrected_text": "short, gently",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "women the",
            "corrected_text": "women, the",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "breasts and",
            "corrected_text": "breasts, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:29:58.468708",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:20:06.930799",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "few",
            "corrected_text": "few\u2014",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mr Meagles",
            "corrected_text": "Mr. Meagles",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Meagles",
            "corrected_text": "Meagles;",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "presently",
            "corrected_text": "presently,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "half hour",
            "corrected_text": "half-hour",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bank",
            "corrected_text": "bank,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moonlight",
            "corrected_text": "moonlight,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "subjects the",
            "corrected_text": "subjects (the",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "breast",
            "corrected_text": "breast,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eternal",
            "corrected_text": "eternal.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "in",
            "corrected_text": "In",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:30:06.628048",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:21:42.869769",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "down he",
            "corrected_text": "down, he",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tenderly man",
            "corrected_text": "tenderly, man",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mr. atkins",
            "corrected_text": "Mr. Atkins",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Atkins \"",
            "corrected_text": "Atkins, \"",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "half hour",
            "corrected_text": "half-hour",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hour he",
            "corrected_text": "hour, he",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wharf and",
            "corrected_text": "wharf, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lights bright",
            "corrected_text": "lights, bright",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:30:08.128455",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:18:15.622088",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "T houses",
            "corrected_text": "The houses",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "troubled life",
            "corrected_text": "troubled dreams",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Morning",
            "corrected_text": "morning",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sons",
            "corrected_text": "scenes",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Phew",
            "corrected_text": "few",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "strictures",
            "corrected_text": "structures",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "longer",
            "corrected_text": "larger",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "comes",
            "corrected_text": "with",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "prison",
            "corrected_text": "poor",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:30:16.233598",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:20:03.588259",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tremendous and",
            "corrected_text": "tremendous, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wheeled chair",
            "corrected_text": "wheel-chair",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clock since",
            "corrected_text": "clock, since",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "minds and",
            "corrected_text": "minds, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "acts the",
            "corrected_text": "acts, the",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sent out",
            "corrected_text": "sent her out",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "go the",
            "corrected_text": "go about the",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "son's",
            "corrected_text": "",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:30:08.127061",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:21:33.135788",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "luggage",
            "corrected_text": "luggage,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "strike",
            "corrected_text": "strike,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "infirmities",
            "corrected_text": "infirmities,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:30:15.645792",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:18:19.418250",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chateau Renaud",
            "corrected_text": "Chateau-Renaud,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dantes",
            "corrected_text": "Dantes,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eh but",
            "corrected_text": "eh, but",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hair s",
            "corrected_text": "hair's",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Pan s",
            "corrected_text": "Pan's",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Rugg s",
            "corrected_text": "Rugg's",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Can t",
            "corrected_text": "Can 't",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "arthur",
            "corrected_text": "Arthur",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "boris",
            "corrected_text": "Boris",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:30:08.806026",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:20:23.482321",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driblet",
            "corrected_text": "drivel",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driblet",
            "corrected_text": "drivel",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driblet",
            "corrected_text": "drivel",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driblet",
            "corrected_text": "drivel",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "paris",
            "corrected_text": "Paris",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "gained one",
            "corrected_text": "gained, one",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thought for",
            "corrected_text": "thought, for",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outset if",
            "corrected_text": "outset, if",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marquis",
            "corrected_text": "Marquis",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eh the",
            "corrected_text": "eh, the",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:30:17.362123",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:23:01.421221",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "drie l",
            "corrected_text": "driblet",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "haired",
            "corrected_text": "fair-haired",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "libelized",
            "corrected_text": "liable",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "yours elf",
            "corrected_text": "yourself",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:30:26.393186",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:18:30.057047",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:30:29.145437",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:19:50.678157",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "morning when",
            "corrected_text": "morning, when",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "d'Epinay's who",
            "corrected_text": "d'Epinay's, who",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saint-M\u00e9ran had",
            "corrected_text": "Saint-M\u00e9ran, had",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "papers",
            "corrected_text": "Marquis farewell",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hour and",
            "corrected_text": "hour, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "who",
            "corrected_text": "Who",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Villefort covering",
            "corrected_text": "Villefort, covering",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_grok_4_1_fast",
        "date": "2026-02-22T17:30:29.145105",
        "annotator": "Grok 4.1 Fast",
        "annotation_date": "2026-02-22T17:22:28.991889",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Gwynplaine Ursus",
            "corrected_text": "Gwynplaine, Ursus",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "court by",
            "corrected_text": "court, by",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "people who",
            "corrected_text": "people, who",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "voice; \"the",
            "corrected_text": "voice, \"the",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man; \"but",
            "corrected_text": "man, \"but",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Ursus; \"I",
            "corrected_text": "Ursus, \"I",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Ursus; \"the",
            "corrected_text": "Ursus, \"the",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Gwynplaine; \"it",
            "corrected_text": "Gwynplaine, \"it",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "xAI",
    "release_date": "2026-01-29",
    "release_notes": "Fast variant release date from xAI API announcement for Grok 4.1."
  },
  {
    "model_name": "Grok 4.5",
    "model_id": "or_grok_4_5",
    "date": "2026-07-23T15:47:40.281073",
    "shots": 2,
    "config": {
      "model_id": "or_grok_4_5",
      "display_name": "Grok 4.5",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Grok 4.5",
    "annotation_date": "2026-07-23T12:02:24.736170",
    "file_results": [
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:45:47.083501",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:24.736170",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the core change of inserting a comma after \"yonder\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and\". The original and corrected text strings match the ground truth\u2019s intention. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:45:52.634354",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:03:29.313795",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change: inserting a comma after \"yonder\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"pockets and\" \u2192 \"pockets, and\", inserting a comma after \"pockets\". This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir is",
            "corrected_text": "Sir, is",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:45:56.652724",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:17:23.881622",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits make the identical core change, inserting a comma after \"howling\" (\"howling over\" \u2192 \"howling, over\"). The original and corrected text strings match the ground truth exactly, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same core correction: inserting a comma after \"pockets\" so that \"pockets and\" becomes \"pockets, and.\" This captures the essential intended change with identical original and corrected text segments.\n\nLine numbers are ignored as instructed, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder, to-day",
            "corrected_text": "yonder, to-day,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:45:47.886427",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:10.993949",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both edits change \"No sir\" to \"No, sir\" by inserting a comma after \"No,\" which is the core intended correction. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 29,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial word \"why\" at the start of the phrase/sentence (\"why did he dine\" \u2192 \"Why did he dine\"). The predicted edit captures the core change by converting \"why\" \u2192 \"Why\". Although it provides less surrounding context than the ground truth, it implements the same essential capitalization correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation point to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction changes \"stones!\" \u2192 \"stones?\", which captures the same core intended correction (! \u2192 ?) at the end of the word/phrase. Although the prediction includes less surrounding context (omits \"cold\"), it still represents the essential punctuation change identified in the ground truth."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:45:47.510407",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:02:38.599451",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"No sir\" to \"No, sir\" by inserting a comma after \"No\". The core punctuation change is identical in the predicted edit and fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 29,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word of the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction captures the same core change by capitalizing \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it correctly represents the essential intended edit (capitalizing the initial 'w' to 'W')."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\n2. Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction applies the same core change (! \u2192 ?) to the same word ending: \"stones!\" \u2192 \"stones?\". Although it omits the preceding word \"cold,\" the essential edit (replacing the terminal punctuation after \"stones\") is correctly captured, and additional/less context is allowed as long as the core change matches."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:45:52.444733",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:17:23.970876",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"No sir\") and the same correction (\"No, sir\"), inserting a comma after \"No\". This captures the core intended punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 29,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches.\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction captures the same core change by capitalizing \"why\" to \"Why.\" Although it includes less surrounding context, it correctly represents the essential intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation at the end of the phrase from an exclamation mark to a question mark (\"cold stones!\" \u2192 \"cold stones?\"). The prediction applies the same core change to the relevant word/ending (\"stones!\" \u2192 \"stones?\") but with less surrounding context. Since the essential correction is the same punctuation substitution at the end of \"stones\", the prediction captures the ground truth\u2019s intention."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:45:38.395864",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:17.220807",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:45:47.684721",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:02:38.834641",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:45:39.277445",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:17:25.732532",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:18.422921",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:17.320757",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road,\" capturing the core intended change (inserting a hyphen). No discrepancy in original or corrected text content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same core change: inserting a comma after \"materials\" in the phrase \"materials costing\" to make it \"materials, costing\". The original_text and corrected_text match the ground truth exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"about and\" to \"about, and\", inserting a comma after \"about\". This captures the core intended correction precisely. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both edits change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly.\" The core punctuation change is identical, and no conflicting text differences are present.\n\nLine numbers are ignored as instructed, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"said when\" to \"said, when,\" inserting a comma after \"said.\" This captures the same core punctuation correction with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the identical core change: \"said\" \u00143 \"said,\" (adding a comma after the word). There is no discrepancy in original or corrected text. Therefore the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The original and corrected texts match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:20.735218",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:02:38.481873",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change, inserting a comma after \"materials\" in the phrase \"materials costing\" \u2192 \"materials, costing.\" The core punctuation correction is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original and corrected text: \"about and\" \u2192 \"about, and\", inserting a comma after \"about\". The core change is identical.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"earnestly telling\" and the same corrected text \"earnestly, telling,\" inserting a comma after \"earnestly.\" This captures the identical core change with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"said when\" to \"said, when\", correctly capturing the intended insertion of a comma after \"said\". There is no discrepancy in the core change."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both edits change \"said\" to \"said,\" by adding a comma immediately after the word. This captures the same core correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"Clennam in\" to \"Clennam, in,\" inserting a comma after \"Clennam.\" This captures the core intended correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:31.007847",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:17:33.266304",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same correction (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials.\" Therefore, the prediction matches the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"about\" in the phrase \"about and\" to make it \"about, and.\" The original_text and corrected_text match the ground truth\u2019s intended modification.\n\n(Line numbers are ignored as instructed.)"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". The original and corrected text strings match the ground truth\u2019s intended punctuation change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"said when\") and the same corrected text (\"said, when\"), capturing the identical core punctuation insertion (adding a comma after \"said\"). Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change from \"said\" to \"said,\" (adding a comma). Ignoring line numbers as instructed, the predicted edit captures the identical punctuation correction intended in the ground truth."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 28,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change of inserting a comma after \"Clennam.\" Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "associationx",
            "corrected_text": "association",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:08.931931",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:34.259054",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:11.809526",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:02:32.704880",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:11.812315",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:17:48.368908",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SHADOW",
            "corrected_text": "SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:24.840875",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:25.001366",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original and corrected text (\"Chalons was\" \u2192 \"Chalons, was\"), capturing the core intended change of inserting a comma after \"Chalons\". Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "landscape Cain",
            "corrected_text": "landscape. Cain",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Saone.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:24.896478",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:03:59.253026",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The original and corrected texts are identical between ground truth and prediction, capturing the core intended change precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"man slowly\") and the same corrected text (\"man, slowly\"), capturing the identical core change: insertion of a comma after \"man.\" Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation, adding a comma after \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "untrimmed the",
            "corrected_text": "untrimmed; the",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:42.621254",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:17:33.429250",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction likewise inserts a comma after \"man\" in a slightly longer phrase (\"One man slowly\" \u2192 \"One man, slowly\"). This includes extra context but captures the same core punctuation correction.\n\nTherefore, the predicted edit matches the ground truth\u2019s intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the core intended change\u2014adding a comma after \"Chalons\". Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Saone.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:34.715582",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:19.711243",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both edits change \"heart so\" to \"heart, so\" by inserting a comma after \"heart\", which is the core intended correction. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"length said\" to \"length, said\" by inserting a comma after \"length.\" The core punctuation change is identical and fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (tense shift from hope \u2192 hoped). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "face, with",
            "corrected_text": "face, indeed with",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:38.984368",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:02:41.857176",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change, inserting a comma to revise \"heart so\" to \"heart, so.\" The original and corrected text strings are identical between ground truth and prediction, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"length said\") and the same correction (\"length, said\"), capturing the core intended change: insertion of a comma after \"length\". Ignoring line numbers as instructed, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 33,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the same original text \"I hope so\" with the same corrected text \"I hoped so.\" This captures the identical core change (present tense to past tense). Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:32.615864",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:18:31.679087",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core change is identical, so the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"generous, Mr.\") and the same corrected text (\"generous Mr.\"), capturing the identical core change: removing the comma after \"generous.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits make the same core change, inserting a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The original and corrected texts match exactly, so the intended punctuation correction is accurately captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"I hope so\" with \"I hoped so\". The core intended change (present tense to past tense by adding the 'd') is captured identically. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:58.000651",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:44.072805",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Line numbers are to be ignored, so the difference there does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"hers matters\" to \"hers, matters\" (inserting a comma after \"hers\"). This captures the core intended correction exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same correction (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment\". Line number differences are to be ignored, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"beautiful\" (\"beautiful that\" \u2192 \"beautiful, that\"). The core correction is identical, with no discrepancy in the original or corrected text. Line numbers are ignored per instructions.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly, they",
            "corrected_text": "directly, \"They",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:55.000466",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:03:06.462715",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both change the phrase from \"hers and\" to \"hers, and\" by inserting a comma after \"hers\". The core punctuation change is identical, with no mismatch in the original or corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change\u2014adding a comma after \"hers\". Line numbers are ignored as instructed, so the difference there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The core punctuation change is identical. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same corrected text (\"beautiful, that\"), capturing the identical core change\u2014adding a comma after \"beautiful\". Line number differences are ignored as instructed. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "At this",
            "corrected_text": "at this",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly, They",
            "corrected_text": "directly, \"They",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:53.310458",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:17:49.868744",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"hers and\") and the same corrected_text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Line number differences are to be ignored, so the essential edit is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" This captures the same core punctuation correction as the ground truth. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original segment \"moment with\" and the same correction \"moment, with,\" inserting a comma after \"moment.\" This captures the core intended change precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"beautiful that\") and the same corrected_text (\"beautiful, that\"), capturing the identical core change\u2014adding a comma after \"beautiful\". Line number differences are to be ignored, so this does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly, they",
            "corrected_text": "directly, \"They",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:46:53.116215",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:43.183440",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original and corrected text: \"shore and\" \u2192 \"shore, and\". This captures the identical core change (inserting a comma after \"shore\"). Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\nText Content Accuracy: Both specify replacing the original text \"that\" with the corrected text \"than\". This captures the core intended change with no discrepancy in the actual text being edited.\nLine numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "you!",
            "corrected_text": "you",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:47:08.486607",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:03:06.080705",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"shore\" in the phrase \"shore and\" to become \"shore, and\". The original_text and corrected_text match the ground truth\u2019s intention with no substantive deviation. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". This captures the same core change intended by the ground truth. Line numbers are to be ignored, so the difference in line_number does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "\"Thank you,\"",
            "corrected_text": "",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:47:10.582290",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:20:49.689310",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"shore and\" to \"shore, and\", correctly capturing the intended insertion of a comma after \"shore\". Therefore, the predicted edit matches the ground truth in both type and core textual change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same core change: replacing \"that\" with \"than\". There is no discrepancy in original or corrected text. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:47:21.497214",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:46.237005",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, converting \"city\" to \"City\". There is no mismatch in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing \"it,\" with \"it;\". The original_text and corrected_text are identical to the ground truth, capturing the intended punctuation substitution precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same core change, replacing the comma after \"stand-still\" with a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). There is no discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"existence,\" to \"existence;\". The core punctuation substitution (comma to semicolon) is identical in original and corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "reluctant return of the same sequences of machinery, like a dragging piece of clockwork.",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:47:23.818734",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:03:09.091900",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"capitalization,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction specify changing \"city\" to \"City,\" capturing the identical core correction with no discrepancies. Therefore, the prediction correctly reflects the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"it,\" to \"it;\". The core punctuation correction (comma to semicolon) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change: replacing the comma after \"stand-still\" with a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). There is no discrepancy in original or corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change, replacing \"existence,\" with \"existence;\". There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "reluctant return of the same sequences of machinery, like a dragging piece of clockwork.",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:47:35.243607",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:18:08.924648",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify changing \"city\" to \"City\", capturing the identical core correction. No extra or missing text alters the intended change.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change: \"it,\" is corrected to \"it;\". The original and corrected text strings match the ground truth\u2019s intention exactly. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"stand-still,\" and the same corrected text \"stand-still;\". The core change (comma to semicolon) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have the type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"existence,\" and the same corrected text \"existence;\", capturing the identical core change (comma to semicolon). Therefore, the prediction correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "reluctant return of the same sequences of machinery, like a dragging piece of clockwork.",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:47:26.430049",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:49.595543",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" to yield \"driest of snorts\" (within the larger phrase \"of the driest of snorts.\"). The prediction captures the same core transformation by replacing \"dryest snorts\" with \"driest of snorts\". Although the prediction omits surrounding unchanged context (\"of the\" and the trailing period), it still accurately represents the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 35,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both edits replace \"authorize\" with \"authorise\", capturing the same core spelling change (American to British spelling). Ignoring line numbers as instructed, the textual change aligns perfectly with the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam, \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty sticking",
            "corrected_text": "twenty; sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "score; now",
            "corrected_text": "score, now",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:47:29.074397",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:03:13.813113",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit likewise replaces \"dryest snorts\" with \"driest of snorts,\" capturing both the spelling correction (dryest \u2192 driest) and the insertion of \"of\" before \"snorts.\" Although the prediction omits surrounding context (\"of the\" and the final period), it preserves the core intended change.\n\nTherefore, the prediction correctly captures the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 32,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"now I\" to \"now, I\", inserting a comma after \"now\". This captures the core intended punctuation correction with identical original and corrected text. Line number differences are irrelevant per instructions."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 35,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\nText Content Accuracy: Both edits replace the same original text \"authorize\" with the same corrected text \"authorise\". This captures the core intended change (American to British spelling). Any difference in line number is to be ignored per instructions, so the text change is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam, \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty sticking",
            "corrected_text": "twenty; sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "\"Your own recompense for all this, Mr. Pancks,\"",
            "corrected_text": "\"Your own recompense for all this, Mr. Pancks,\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him than",
            "corrected_text": "him, than",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:47:40.281073",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:18:01.888237",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" \u2192 \"driest\" and inserts \"of\" so that the phrase becomes \"driest of snorts\" (within the larger context \"of the ... .\"). The prediction also changes \"dryest\" \u2192 \"driest\" and produces \"driest of snorts\". Although the prediction omits surrounding context (\"of the\" and the final period), it can be interpreted as targeting the inner span \"dryest snorts\" and replacing it with \"driest of snorts\", which yields the same intended final wording as the ground truth when embedded back into the sentence. Therefore, it captures the core intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 32,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The original and corrected text content matches the ground truth\u2019s intended punctuation correction.\n\nLine number differences are ignored per instructions, so the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 35,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both edits replace \"authorize\" with \"authorise\", capturing the same core spelling change (American to British spelling). Line numbers are to be ignored, and the page matches, so the essential intended correction is correctly represented."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam, \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that, boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty sticking",
            "corrected_text": "twenty; sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:47:26.840069",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T12:02:47.324444",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The original and corrected text strings match the ground truth\u2019s intended change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bedroom",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed. For",
            "corrected_text": "bed. For",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me; not",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:47:36.162439",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T13:03:10.985655",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"quickly that\" and the same corrected text \"quickly, that\", capturing the identical core punctuation insertion (adding a comma after \"quickly\"). Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed. For",
            "corrected_text": "bed. For",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me; not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_grok_4_5",
        "date": "2026-07-23T15:47:38.331383",
        "annotator": "Grok 4.5",
        "annotation_date": "2026-07-23T14:18:06.325949",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed. For",
            "corrected_text": "bed. For",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me; not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "xAI",
    "release_date": "2026-07-08",
    "release_notes": "xAI announced Grok 4.5 on 2026-07-08 on the 1.5T-parameter V9 foundation; OpenRouter listing appeared the same day."
  },
  {
    "model_name": "Grok 4.6",
    "model_id": "or_grok_4_6",
    "date": "2026-09-06T03:57:11.486628",
    "shots": 2,
    "config": {
      "model_id": "or_grok_4_6",
      "display_name": "Grok 4.6",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-09-06",
      "notes": "Benchmark run with 2-shot learning at high reasoning effort"
    },
    "annotator": "Grok 4.6",
    "annotation_date": "2026-09-06T03:39:36.709074",
    "file_results": [
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:22.437318",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:39:36.709074",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over,\" inserting a comma after \"howling.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"yonder\" to change \"yonder to-day\" into \"yonder, to-day\". The original_text and corrected_text match the ground truth\u2019s intended punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" so that \"pockets and\" becomes \"pockets, and\". The original and corrected text match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:20.455085",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:45:17.496286",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over\" by inserting a comma after \"howling.\" This captures the exact core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same correction (inserting a comma after \"yonder\" to produce \"yonder, to-day\"). The core punctuation change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The original and corrected text strings match the ground truth precisely, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:23.904822",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:52:53.083892",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling.\" Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder.\" The core punctuation change is identical. Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same change from \"Sir\" to \"sir\". The core intended correction (lowercasing the initial letter) is captured identically.\nTherefore, the predicted edit correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to become \"pockets, and.\" The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:22.899175",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:39:39.629417",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"why did he dine\" to \"Why did he dine\", which is solely the capitalization of the initial word \"why\". The prediction captures this core change directly as \"why\" \u2192 \"Why\". Although it provides less surrounding context than the ground truth, it still represents the same essential correction (capitalizing the first word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\u201d",
            "corrected_text": "stones?\u201d",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "No,sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:23.149862",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:45:07.923811",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial word \"why\" to \"Why\" at the start of the phrase \"why did he dine\". The prediction captures this same core change by specifying \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it still reflects the essential intended correction (capitalizing the initial word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation mark to a question mark in the phrase ending with \"stones\" (\"cold stones!\" \u2192 \"cold stones?\"). The prediction applies the same core change (! \u2192 ?) on the relevant word/ending (\"stones!\" \u2192 \"stones?\"). Although it omits the preceding word \"cold,\" it still captures the essential intended correction: converting the exclamation to a question mark at the end of the phrase. Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "No,sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:26.166957",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:50:00.684080",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word in the phrase: \"why did he dine\" \u2192 \"Why did he dine\". The predicted edit captures the core change by capitalizing \"why\" \u2192 \"Why\". Although it provides less surrounding context than the ground truth, it still represents the same essential correction (capitalizing the first word). Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The predicted edit captures the same core change (! \u2192 ?) at the end of \"stones\" (\"stones!\" \u2192 \"stones?\"). The omission of the preceding word \"cold\" does not alter the essential intent of the correction, since the only intended modification is the terminal punctuation."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "No,sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:19.612519",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:39:18.515023",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which matches the ground truth exactly.\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same core change by capitalizing \"if\" \u2192 \"If.\" Although it omits the following word \"he,\" it still reflects the essential intended correction (capitalizing the word \"if\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth intends to change the verb \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The prediction captures the core change by replacing \"said\" with \"asked.\" Although it omits the surrounding context word \"Clennam,\" the essential intended correction (said \u2192 asked) is correctly represented."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:29.372276",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:44:43.261942",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\nText Content Accuracy: The ground truth capitalizes the word \"if\" in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same core change by editing \"if\" \u2192 \"If.\" Although it includes less surrounding context (omits \"he\"), it still reflects the essential intended correction (capitalizing \"if\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction replaces \"said\" \u2192 \"asked\" without including the following word \"Clennam\". This still captures the core intended change (the substitution of the verb \"said\" with \"asked\"). Additional surrounding context is optional, and omitting \"Clennam\" does not alter the essential correction.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:19.649175",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:49:34.918551",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he,\" i.e., capitalizes the initial \"if\" in that phrase. The prediction changes \"if\" to \"If,\" capturing the same essential capitalization change. Although the prediction omits the following word \"he\" as context, it still reflects the core intended correction (lowercase to uppercase initial letter on \"if\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core intended change by replacing \"said\" with \"asked\". Although it omits the surrounding context word (\"Clennam\"), it still correctly reflects the essential substitution the ground truth indicates."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:34.599291",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:40:38.933452",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same change, inserting a comma after \"materials\" so that \"materials costing\" becomes \"materials, costing.\" The core punctuation change is captured identically. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change, inserting a comma after \"about\" to change \"about and\" to \"about, and.\" The essential correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), inserting a comma after \"earnestly.\" The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction apply the same core change, inserting a comma after \"said\" to change \"said when\" into \"said, when.\" No discrepancy in original or corrected text content is present.\nTherefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). There is no discrepancy in original or corrected text. Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation from \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". The core change is identical.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:27.002599",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:46:10.910060",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both identify the same original text (\"high road\") and apply the same correction by inserting a hyphen to form \"high-road.\" The core intended change is captured exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"materials costing\" to \"materials, costing\" (inserting a comma after \"materials\"). The core intended punctuation correction is captured identically.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"about and\" to \"about, and,\" correctly capturing the intended insertion of a comma after \"about.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". This captures the core intended punctuation correction with identical original and corrected text. Therefore, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same change from \"said when\" to \"said, when,\" inserting a comma after \"said.\" The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"said\" (\"said\" \u2192 \"said,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"Clennam in\" \u2192 \"Clennam, in\" (inserting a comma after \"Clennam\"). The essential punctuation change is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:27.075574",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:51:13.127676",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction apply the same core change, converting \"high road\" to \"high-road\" by inserting a hyphen. There is no discrepancy in the original or corrected text content.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the intended insertion of a comma after \"materials\". Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original phrase \"about and\" and the same correction \"about, and,\" inserting a comma after \"about.\" This captures the core intended punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction apply the same punctuation change, inserting a comma after \"earnestly\" in the phrase \"earnestly telling\" to make \"earnestly, telling.\" The core change is identical with no divergence in the modified text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core punctuation change, inserting a comma between \"said\" and \"when\" (\"said when\" \u2192 \"said, when\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"said\" (\"said\" \u2192 \"said,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:35.968237",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:38:55.927295",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:35.969407",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:44:20.179689",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:51.922142",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:49:18.582952",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:02.120756",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:40:32.579917",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both change the same original text \"Saone\" to the same corrected text \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core intended change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"man\" in the phrase \"man slowly\" to make it \"man, slowly\". The original and corrected texts are identical between ground truth and prediction, so the intended correction is captured exactly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"Chalons was\" to \"Chalons, was\" by inserting a comma after \"Chalons.\" This captures the core intended punctuation correction with identical original and corrected text segments."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XI",
            "corrected_text": "XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LOOSE",
            "corrected_text": "LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:03.281386",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:46:30.881483",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"man slowly\") and the same corrected text (\"man, slowly\"), capturing the identical core change\u2014adding a comma after \"man\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was\". The core punctuation correction is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XI",
            "corrected_text": "XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LOOSE",
            "corrected_text": "LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "untrimmed the",
            "corrected_text": "untrimmed; the",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:59.666360",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:50:43.431309",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the identical change from \"man slowly\" to \"man, slowly,\" inserting a comma after \"man.\" The predicted edit captures the core intended punctuation correction precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change: insertion of a comma after \"Chalons\". Therefore the prediction matches the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XI",
            "corrected_text": "XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LOOSE",
            "corrected_text": "LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:03.255018",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:41:07.015427",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so,\" inserting a comma after \"heart.\" The core change is identical with no deviations. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"length said\") and the same correction (\"length, said\"), capturing the intended insertion of a comma after \"length.\" Therefore the core change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\nText Content Accuracy: Both edits replace the exact same original text (\"I hope so\") with the same corrected text (\"I hoped so\"). The core change\u2014shifting the verb tense from present to past\u2014is captured identically.\n\nTherefore, the predicted edit correctly matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "very much",
            "corrected_text": "very much",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:04.942951",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:46:33.829715",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"heart so\") and the same correction (\"heart, so\"), capturing the identical core change\u2014adding a comma after \"heart\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\nText Content Accuracy: Both specify the same transformation from \"length said\" to \"length, said\", inserting a comma after \"length\". This captures the core intended change with no discrepancy.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope so",
            "corrected_text": "hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"hope\" to \"hoped\" in the phrase \"I hope so\" \u2192 \"I hoped so.\" The prediction captures the same core change (\"hope so\" \u2192 \"hoped so\"), omitting the leading \"I\" but preserving the essential intended correction (changing present tense to past tense). Since additional/missing surrounding context is allowed as long as the core edit is correct, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "very",
            "corrected_text": "very",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:55:58.199296",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:51:08.816297",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change the same original text \"heart so\" to the same corrected text \"heart, so\" by inserting a comma after \"heart.\" The core change is identical, with no discrepancies in wording or punctuation."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"length said\" to \"length, said\", inserting a comma after \"length\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change from present to past tense. Therefore, the predicted edit matches the ground truth intent."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "very much",
            "corrected_text": "very much",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:05.297832",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:40:35.050046",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core punctuation insertion, changing \"hers and\" to \"hers, and\" (adding a comma after \"hers\"). The original and corrected text match the ground truth exactly, capturing the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction apply the same core change: inserting a comma after \"hers\" to change \"hers matters\" into \"hers, matters.\" The original and corrected text strings match exactly, so the intended punctuation correction is captured correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with,\" inserting a comma after \"moment.\" The core intended punctuation correction is captured precisely."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"beautiful that\" \u2192 \"beautiful, that\" (inserting a comma after \"beautiful\"). The core change is identical, with no discrepancy in original or corrected text. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same original text \"they\" and the same corrected text \"They\", capturing the identical core change (capitalizing the first letter). No discrepancy in the essential edit."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:07.237501",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:45:45.064779",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same correction (\"hers, and\"), inserting a comma after \"hers\". The core change is identical.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change\u2014adding a comma after \"hers.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"moment with\" to \"moment, with\" (inserting a comma after \"moment\"). The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"beautiful that\" to \"beautiful, that,\" inserting a comma after \"beautiful.\" The core punctuation change is identical. Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same core change: converting \"they\" to \"They\". There is no discrepancy in original or corrected text, so the predicted edit captures the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:05.933675",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:50:37.049920",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation\", which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"hers and\" to \"hers, and\", inserting a comma after \"hers\". The core punctuation change is identical. Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" The core intended punctuation correction is captured exactly with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"moment with\" to \"moment, with\" by inserting a comma after \"moment.\" The core change is identical with no deviation."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same correction (\"beautiful, that\"), inserting a comma after \"beautiful\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same core change: original_text \"they\" corrected_text \"They\". This captures the intended capitalization correction with no discrepancies."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:19.684854",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:41:17.305572",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core correction, changing \"Thank you!\" to \"Thank you,\". The essential punctuation change (exclamation mark to comma) is captured identically.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore.\" Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". The core change is identical with no discrepancy in content.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:12.102519",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:45:58.421891",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"shore and\" to \"shore, and,\" inserting a comma after \"shore.\" The core punctuation correction is identical."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". The core change is identical with no mismatch in the replaced or replacement word.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you murmured",
            "corrected_text": "you,\u201d murmured",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "now.\u201d",
            "corrected_text": "now.\u201d \u201cThank you,\u201d",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:31.695813",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:51:39.075174",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core correction: changing \"Thank you!\" to \"Thank you,\" (exclamation mark replaced with a comma). The essential edit is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the identical transformation from \"shore and\" to \"shore, and\", correctly capturing the core intended punctuation insertion (adding a comma after \"shore\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing the original text \"that\" with the corrected text \"than\". This captures the identical core change with no discrepancy. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:57:03.314155",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:40:13.356628",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XXIX",
            "corrected_text": "XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to add a period at the end of the chapter heading, changing \"Chapter XXIX\" to \"Chapter XXIX.\". The prediction applies the same core punctuation change to the final element of that heading, changing \"XXIX\" to \"XXIX.\". Although it omits the preceding word \"Chapter\" as context, it still captures the essential edit: adding a trailing period after \"XXIX\"/the heading. Therefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the identical core change from \"DREAMING\" to \"DREAMING.\" (adding a period). The predicted edit fully captures the ground truth intention with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both specify the same core change: changing \"city\" to \"City\". There is no discrepancy in original or corrected text, so the essential edit is captured exactly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same substitution, changing \"of\" to \"to\". The core change is identical with no discrepancy in original or corrected text.\nTherefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same essential change\u2014adding a comma immediately after \"existence\"\u2014but includes additional surrounding context (\"existence at\" \u2192 \"existence, at\"). This captures the core intended punctuation edit accurately."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change, adding a comma after \"motionless\" within a larger span (\"motionless when\" \u2192 \"motionless, when\"). This includes extra context but preserves the essential punctuation correction. Therefore, the predicted edit captures the intention of the ground truth."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core punctuation change, adding a comma immediately after \"view\" within a larger phrase (\"view by\" \u2192 \"view, by\"). This includes extra surrounding context but captures the essential intended edit correctly."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:58.507012",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:46:20.209507",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XXIX",
            "corrected_text": "XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth adds a period at the end of the chapter heading (\"Chapter XXIX\" \u2192 \"Chapter XXIX.\"). The prediction applies the same core punctuation change to the essential element at the end of that heading (\"XXIX\" \u2192 \"XXIX.\"). Although it omits the preceding word \"Chapter\" as context, it still captures the intended correction: adding a terminal period after \"XXIX\". Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: adding a period to \"DREAMING\" to become \"DREAMING.\". There is no discrepancy in original or corrected text, so the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"capitalization,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change, converting \"city\" to \"City\". There is no discrepancy in the original or corrected text. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify replacing the original text \"of\" with the corrected text \"to\". This captures the same core change with no discrepancy.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change \"existence\" to \"existence,\" by adding a comma immediately after the word. This captures the exact core change intended by the ground truth."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change, adding a comma after \"motionless\" (\"motionless\" \u2192 \"motionless,\"). There is no discrepancy in the corrected text or the intended punctuation change. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same core change, adding a comma after \"view\" (\"view\" \u2192 \"view,\"). There is no discrepancy in the original or corrected text. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:57:11.486628",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:50:44.273492",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "XXIX",
            "corrected_text": "XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth adds a period to the chapter heading (\"Chapter XXIX\" \u2192 \"Chapter XXIX.\"). The predicted edit applies the same core change\u2014adding a period after \"XXIX\" (\"XXIX\" \u2192 \"XXIX.\"). Although it omits the preceding word \"Chapter,\" it still captures the essential intended punctuation correction (the period after the Roman numeral in the heading)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both edits change \"DREAMING\" to \"DREAMING.\" by adding a period. The core intended punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the type as \"capitalization\", so the edit type matches exactly.\nText Content Accuracy: Both indicate the same core change from \"city\" to \"City\". There is no discrepancy in original or corrected text. Therefore the prediction captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth intention is to insert a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change within a larger context (\"existence at\" \u2192 \"existence, at\"), which still places the comma directly after \"existence\". The added surrounding word \"at\" does not alter the essential edit, so the content matches the ground truth intent."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to add a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change within a slightly larger context (\"motionless when\" \u2192 \"motionless, when\"), which still inserts the comma immediately after \"motionless\". This captures the essential correction accurately."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma immediately after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same essential change within a larger context (\"view by\" \u2192 \"view, by\"), still placing the comma directly after \"view\". The additional word \"by\" is just extra context and does not alter the core intended punctuation edit.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:43.864689",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:42:58.141141",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly. Text Content Accuracy: Both identify the same target text \"him\" and the correction is to italicize that same word (original_text and corrected_text are identical, indicating a formatting change only). The prediction captures the same core intended change as the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"now I\" to \"now, I\" (inserting a comma after \"now\"). The essential correction is captured identically with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"replacement\", so the type matches exactly.\nText Content Accuracy: Both edits replace the exact same original text \"authorize\" with the corrected text \"authorise\". This captures the core intended change (American to British spelling) with no discrepancy.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that boiling-over",
            "corrected_text": "that a boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty",
            "corrected_text": "twenty:",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:38.831575",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:47:54.639211",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the types match exactly.\n\nText Content Accuracy: Both ground truth and prediction target the same original text \"him\" and indicate the same corrected text \"him\" with the intention being formatting (italics) rather than changing the characters. The core change\u2014italicizing the word \"him\"\u2014is captured identically.\n\nTherefore, the prediction correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"now I\" to \"now, I,\" inserting a comma after \"now.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"authorize\" with \"authorise\". The core change (American to British spelling) is identical in the prediction and ground truth. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty.",
            "corrected_text": "twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:41.870953",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:54:37.080345",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"now I\") and the same corrected text (\"now, I\"), capturing the identical core change\u2014adding a comma after \"now\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both replace the original text \"authorize\" with the corrected text \"authorise\". This captures the same core change (American to British spelling) with identical original and corrected strings.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty:",
            "corrected_text": "twenty;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Your own recompense for all this, Mr. Pancks,",
            "corrected_text": "Your own recompense for all this, Mr. Pancks,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him,",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:34.816255",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:42:56.913635",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it still captures the essential punctuation change at the correct location. Therefore, the text-content intention matches."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both edits change \"quickly that\" to \"quickly, that,\" inserting a comma after \"quickly.\" The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:38.968944",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:46:47.815503",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The prediction also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it stops at \"Mr.\" instead of including \"Pancks\"), it captures the same core punctuation correction: adding a comma after \"For\" before \"Mr.\".\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"quickly\" in the phrase \"quickly that\", resulting in \"quickly, that\". The original_text and corrected_text match exactly, capturing the core intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_grok_4_6",
        "date": "2026-09-06T03:56:40.577193",
        "annotator": "Grok 4.6",
        "annotation_date": "2026-09-06T03:50:51.762790",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr",
            "corrected_text": "For, Mr",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction captures the same core punctuation change (\"For Mr\" \u2192 \"For, Mr\"). Although the prediction includes less surrounding context (it omits \". Pancks\"), it still reflects the essential intended edit: adding the comma after \"For\" before \"Mr\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both identify the same original span \"quickly that\" and the same correction \"quickly, that\", inserting a comma after \"quickly\". The core change is captured precisely with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "SpaceXAI",
    "release_date": "2026-08-12",
    "release_source": "https://x.ai/news/grok-4-6",
    "release_notes": "Vision-capable Grok 4.6 model. Benchmark configuration uses high reasoning effort."
  },
  {
    "model_name": "Inkling",
    "model_id": "or_inkling",
    "date": "2026-07-23T15:54:46.121104",
    "shots": 2,
    "config": {
      "model_id": "or_inkling",
      "display_name": "Inkling",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Inkling",
    "annotation_date": "2026-07-23T12:11:12.158681",
    "file_results": [
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:03.219002",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T12:11:12.158681",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"pockets and\" to \"pockets, and\", i.e., inserting a comma after \"pockets\". The core punctuation correction is identical. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "seilles;",
            "corrected_text": "seilles,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think to",
            "corrected_text": "think, to",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir;",
            "corrected_text": "Sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:10.197465",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:55:38.829899",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 3,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day\". The predicted edit \"yonder\" \u2192 \"yonder,\" captures this same core punctuation insertion (adding a comma immediately after \"yonder\"). Although it omits the following context \"to-day\", the essential intended change is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and.\" The predicted edit \"pockets\" \u2192 \"pockets,\" captures the same core punctuation change (adding a comma immediately after \"pockets\"). Although it omits the following word \"and,\" it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Theyre",
            "corrected_text": "They're",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think",
            "corrected_text": "think,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir;",
            "corrected_text": "Sir,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:01.524699",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:29:30.697820",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma to change \"pockets and\" to \"pockets, and\". The original and corrected text match the ground truth\u2019s intention exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for.",
            "corrected_text": "for?",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:00.057664",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T15:05:51.380226",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "6",
            "corrected_text": "189",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "groote",
            "corrected_text": "grew",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No,sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:01.955667",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T13:13:57.764573",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u2014\"He",
            "corrected_text": "\u2014 \"He",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "grate",
            "corrected_text": "grated",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "guessing at;",
            "corrected_text": "guessing at,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No,sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:06.585725",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:29:11.632565",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "grate",
            "corrected_text": "grated",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think \u201cWhy",
            "corrected_text": "think, \u201cWhy",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at; \u201cmay",
            "corrected_text": "at: \u201cmay",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No,sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:03.329456",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:55:45.906524",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the word \"if\" at the start of the phrase \"if he\" (\"if he\" \u2192 \"If he\"). The prediction applies the same core change (\"if\" \u2192 \"If\") but with less surrounding context. Since the essential change\u2014capitalizing \"if\"\u2014is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces the word \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core change by replacing \"said\" \u2192 \"asked\". Although it omits the surrounding context (\"Clennam\"), applying the predicted replacement at the same location yields the intended corrected phrase. Therefore, the essential edit is correctly captured."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:02.091573",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T13:13:31.701778",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word in the phrase: \"if he\" \u2192 \"If he\". The prediction applies the same core change\u2014\"if\" \u2192 \"If\"\u2014but with less surrounding context. This still captures the essential intended correction (capitalizing \"if\" at the start of the phrase/sentence). Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes the verb from \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures this core change by replacing \"said\" with \"asked\". Omitting the unchanged context word \"Clennam\" does not alter the essential intended correction, so the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:06.625958",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:29:01.723858",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction applies the same essential change by capitalizing \"if\" \u2192 \"If\". Although it provides less surrounding context (omitting \"he\"), it captures the core intended correction (capitalizing the word \"if\" at the start of the phrase/sentence). Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces the phrase \"said Clennam\" with \"asked Clennam\", whose core change is substituting \"said\" \u2192 \"asked\" while retaining the surrounding context. The predicted edit replaces \"said\" with \"asked\" without including the trailing context \"Clennam\", but it still captures the essential intended correction (changing the verb from \"said\" to \"asked\"). Since the core textual change matches the ground truth\u2019s intention, the content is accurate."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:27.626175",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T12:11:16.194422",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"high road\" to \"high-road,\" capturing the same core hyphenation change with identical original and corrected text. Therefore, the prediction matches the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The predicted edit \"said\" \u2192 \"said,\" captures the same core punctuation change (adding a comma immediately after \"said\"). Although it omits the following word \"when,\" it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him un",
            "corrected_text": "him, un",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "visiting \u2014",
            "corrected_text": "visiting,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "amazement",
            "corrected_text": "amazement,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:27.804051",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T13:14:10.626064",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The prediction captures the same essential punctuation change by editing \"said\" \u2192 \"said,\". Although it does not include the following word \"when\" as context, it still represents the same core correction (comma insertion immediately after \"said\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "amazement",
            "corrected_text": "amazement,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "head.",
            "corrected_text": "head,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:26.733973",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:29:21.734381",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the types match exactly. Text Content Accuracy: Both specify the same original_text (\"high road\") and the same corrected_text (\"high-road\"), capturing the core change of inserting a hyphen between the words. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "judgment",
            "corrected_text": "judgment,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles harbour",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Vecchia So",
            "corrected_text": "Vecchia, So",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "amazement.",
            "corrected_text": "amazement,",
            "observed_line_number": 53,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:21.979675",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T12:11:10.843001",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SHADOW",
            "corrected_text": "SHADOW.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:24.087943",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T13:13:19.251689",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:26.519094",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:28:39.008469",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SHADOW",
            "corrected_text": "SHADOW.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:32.407776",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T12:11:40.384262",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly. Text Content Accuracy: Both replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the o). The core change is identical with no discrepancies. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Chalons",
            "corrected_text": "Ch\u00e2lons",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Cornice",
            "corrected_text": "Corniche",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Go",
            "corrected_text": "go",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:25.634534",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T13:14:53.794346",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cheerfulness;",
            "corrected_text": "cheerfulness,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Vecchia go",
            "corrected_text": "Vecchia, go",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "go",
            "corrected_text": "Go",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:49.184088",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:29:02.720083",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:51.808555",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T12:11:43.220765",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart,so",
            "corrected_text": "heart; so",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hoped so;",
            "corrected_text": "hoped so.",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr",
            "corrected_text": "generous Mr",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:52.369564",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T13:13:34.093738",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (present tense to past tense). Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "confidentially",
            "corrected_text": "indeed",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:50.588595",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:58:09.491651",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"hope\" to past tense \"hoped\" within the phrase \"I hope so\" \u2192 \"I hoped so\". The prediction captures the same core substitution \"hope\" \u2192 \"hoped\" (just with less surrounding context). Since the essential intended change is correctly represented, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "smiling;",
            "corrected_text": "smiling,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so;",
            "corrected_text": "so,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:01.691549",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T12:12:11.991257",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change, inserting a comma after \"moment\" in the phrase \"moment with\" \u2192 \"moment, with.\" The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers,and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly \u201cthey",
            "corrected_text": "directly, \u201cthey",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:58.837512",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T13:14:13.785740",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers and\" to make it \"hers, and\". The prediction captures the same core punctuation change by changing \"hers\" to \"hers,\" (inserting a comma after \"hers\"). Although it omits the following word \"and\" from the original/corrected spans, it still reflects the essential intended edit (adding the comma after \"hers\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"hers\" in the phrase \"hers matters\" \u2192 \"hers, matters.\" The predicted edit \"hers\" \u2192 \"hers,\" captures the same essential punctuation insertion (a comma immediately following \"hers\"). Although it omits the following word \"matters,\" it still reflects the core intended change at the correct location."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"moment\" in the phrase \"moment with\" \u2192 \"moment, with.\" The predicted edit \"moment\" \u2192 \"moment,\" captures the same essential punctuation change (adding a comma immediately after \"moment\"). Although the prediction includes less surrounding context (it omits \"with\"), it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "matters",
            "corrected_text": "matters,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly",
            "corrected_text": "directly,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:55.334590",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:29:26.181739",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation of the phrase \"hers and\" to \"hers, and\" by inserting a comma after \"hers.\" The core change is identical with no discrepancy. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"hers matters\" to \"hers, matters,\" inserting a comma after \"hers.\" The core intended change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The core punctuation change is captured identically."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "blended with",
            "corrected_text": "blended, with",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:53:53.381302",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T12:12:27.896534",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:04.561149",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T13:15:29.098363",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you!",
            "corrected_text": "you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 52,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 57,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "thank",
            "corrected_text": "Thank",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:25.861903",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:29:20.497005",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly. Text Content Accuracy: Both specify replacing \"that\" with \"than\", which captures the core intended correction. Line number differences are ignored as instructed, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:27.906480",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T12:12:19.458467",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth adds a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction also adds a comma immediately after \"view\" within a larger phrase (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation change, with additional surrounding context allowed.\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "lord",
            "corrected_text": "Lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:27.160868",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T13:15:29.333923",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change, adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\". The original_text and corrected_text align perfectly with the ground truth\u2019s intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit expands the span to include the following word (\"view by\" \u2192 \"view, by\"), but it still performs the same core punctuation change: inserting a comma immediately after \"view.\" The additional context does not alter the essential edit.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dulness",
            "corrected_text": "dullness",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence, is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "lord and",
            "corrected_text": "lord, and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each",
            "corrected_text": "to each",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:28.312198",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:30:11.060263",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core correction\u2014adding a period to change \"Chapter XXIX\" to \"Chapter XXIX.\" The original and corrected texts are identical between ground truth and prediction, capturing the intended edit precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change from \"city\" to \"City\". There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: adding a comma after \"view\" (\"view\" \u2192 \"view,\"). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "seen;",
            "corrected_text": "seen,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "days.",
            "corrected_text": "days,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still;",
            "corrected_text": "stand-still,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "lord",
            "corrected_text": "Lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:36.655553",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T12:12:32.698801",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same target text \"him\" with no textual change other than applying italics. The core intended change (italicizing the word \"him\") is captured correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the edit type matches exactly.\n2) Text Content Accuracy: Both replace the same original text \"authorize\" with the same corrected text \"authorise\", capturing the core intended change (American to British spelling). Line number differences are to be ignored, so the content matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:39.121331",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T13:16:14.421572",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\n\nText Content Accuracy: Both identify the same target text \"him\" with no change in wording aside from applying italics. The prediction captures the same core formatting change intended by the ground truth.\n\nTherefore, the predicted edit correctly matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 37,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"now\" in the phrase \"now I\" \u2192 \"now, I\". The predicted edit \"now\" \u2192 \"now,\" captures the same core punctuation change (adding a comma immediately after \"now\"). Although it omits the following word \"I\" as context, the essential intended correction is still accurately represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both replace the original text \"authorize\" with \"authorise\". The core intended change (American to British spelling) is captured identically, with no discrepancy in the text being replaced or the correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:40.035582",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:30:02.818513",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\nText Content Accuracy: Both identify the same target text \"him\" with no change in wording, only a formatting change to italics. The prediction captures the same core formatting intent as the ground truth.\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both replace the same original text \"authorize\" with the same corrected text \"authorise\". The core intended change (American to British spelling) is captured exactly with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "a hopeful one",
            "corrected_text": "the hopeful one",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "the",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:27.122630",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T12:12:12.299914",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "this and",
            "corrected_text": "this, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "never and",
            "corrected_text": "never, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam infinitely",
            "corrected_text": "Clennam, infinitely",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that and",
            "corrected_text": "that, and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "again and",
            "corrected_text": "again, and",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:33.607081",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T13:14:58.260906",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "this and",
            "corrected_text": "this, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "never and",
            "corrected_text": "never, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still \"tis",
            "corrected_text": "still, \"tis",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "bed",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_inkling",
        "date": "2026-07-23T15:54:46.121104",
        "annotator": "Inkling",
        "annotation_date": "2026-07-23T14:29:53.329516",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "this and",
            "corrected_text": "this, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fled Arthur",
            "corrected_text": "fled, Arthur",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me Doyce",
            "corrected_text": "me, Doyce",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "correct and",
            "corrected_text": "correct, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "spirits Cucumber",
            "corrected_text": "spirits, Cucumber",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "never",
            "corrected_text": "",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Thinking Machines",
    "release_date": "2026-07-17",
    "release_source": "https://openrouter.ai/thinkingmachines/inkling",
    "release_notes": "Thinking Machines' first production model; release date taken from the OpenRouter listing."
  },
  {
    "model_name": "Kimi K2.5",
    "model_id": "or_kimi_k2_5",
    "date": "2026-02-22T13:25:52.921218",
    "shots": 2,
    "config": {
      "model_id": "or_kimi_k2_5",
      "display_name": "Kimi K2.5",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-02-22",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Kimi K2.5",
    "annotation_date": "2026-02-22T13:15:16.825841",
    "file_results": [
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:02.531694",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:15:16.825841",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. \n\n1. Edit Type Accuracy: The type is 'punctuation' in both the predicted and ground truth edits, indicating that both are categorized correctly as punctuation changes. \n\n2. Text Content Accuracy: The original text 'howling over' is corrected to 'howling, over' in both cases, capturing the core punctuation change accurately by adding a comma after 'howling'. \n\nThus, the prediction correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in both the edit type and the text content. \n\n1. Edit Type Accuracy: The edit type in both the ground truth and the prediction is 'punctuation,' indicating that the nature of the modification involves adding or adjusting punctuation. This matches exactly.\n\n2. Text Content Accuracy: The original text 'yonder to-day' is transformed into 'yonder, to-day' by adding a comma after 'yonder'. This change is captured correctly by both the ground truth and the prediction. Therefore, the core change is accurately reflected in the prediction.\n\nSince both criteria are satisfied, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit in both aspects evaluated. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, which is a perfect match, satisfying the first criterion. Secondly, the core textual content change involves adding a comma between 'pockets' and 'and'. The original text 'pockets and' is corrected to 'pockets, and' in both the ground truth and the prediction, capturing the essential change intended by the ground truth. Thus, the text content accuracy criterion is also satisfied. Therefore, the prediction is correct."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:02.263940",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:17:48.403673",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly identifies the type of edit as 'capitalization,' which is the same as the ground truth. Both the ground truth and the prediction encapsulate the same core text change by converting 'Sir' to 'sir.' The line number difference is explicitly disregarded in the evaluation, and the page numbers match, making the prediction accurate in terms of both edit type and text content. Thus, the predicted edit successfully captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly matches the ground truth in both key criteria. \n\n1. Edit Type Accuracy: The ground truth specifies the edit type as 'punctuation', and the predicted edit also correctly identifies the type as 'punctuation'. Therefore, the edit type matches exactly and meets the criterion for correctness.\n\n2. Text Content Accuracy: Both the ground truth and the predicted edit identify the text change from 'pockets and' to 'pockets, and', which correctly captures the core punctuation correction by adding a comma after 'pockets'. The predicted edit effectively focuses on the essential change, which is the punctuation adjustment, and therefore it accurately reflects the intention of the ground truth.\n\nSince both the edit type and the text content match the ground truth's intention, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:06.403607",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:15:53.924894",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly identifies the intention of the ground truth edit based on the criteria provided: \n\n1. **Edit Type Accuracy**: Both the ground truth and predicted edits are of type 'capitalization'. This matches exactly, satisfying the requirement that the edit type must match.\n\n2. **Text Content Accuracy**: The core change is from 'Sir' to 'sir', which the prediction captures accurately. Both the ground truth and prediction indicate the change in capitalization from a capital 'S' to a lowercase 's', meaning the essential edit is correctly captured. \n\nThe line number discrepancy is intentionally ignored in this evaluation, as per the instructions. The page number matches as well. Therefore, the prediction is considered correct in terms of both edit type and text content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit captures the intention of the ground truth edit based on both evaluation criteria. \n\n1. Edit Type Accuracy: \n   - Both the ground truth and predicted edits are of the type 'punctuation'. This matches exactly, fulfilling the requirement for edit type accuracy. \n\n2. Text Content Accuracy: \n   - The core change identified in the ground truth is adding a comma after 'pockets' to form 'pockets, and'. The predicted edit suggests adding a comma after 'pockets' to form 'pockets,'. Even though the predicted text has additional context with the word 'and' not being included, the essential change\u2014the addition of a comma after 'pockets'\u2014is correctly captured in the prediction. Hence, it is text content accurate. \n\nTherefore, the prediction correctly reproduces the ground truth's edit intention despite the additional context, making it correct overall."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:23:59.362240",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:18:36.607212",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ", why",
            "corrected_text": ", \"why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:23:55.805471",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:18:35.252569",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "think, Why",
            "corrected_text": "think, \"Why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:04.054449",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:17:28.966441",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately identifies the edit type as 'capitalization', which matches the ground truth. For text content accuracy, the predicted edit highlights the core change of capitalizing 'why' to 'Why'. Although the predicted edit focuses on just the word 'why' instead of the entire phrase 'why did he dine', it captures the essential change that the ground truth is addressing. The ground truth's intention is to capitalize the first word of the sentence, and the prediction accurately reflects that specific alteration. Therefore, the prediction meets the criteria for both edit type and text content accuracy as specified in the instructions."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think, why",
            "corrected_text": "think, \"why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:03.797891",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:17:07.866376",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the edit type as 'capitalization,' which matches the ground truth. For the text content accuracy, the core change in capitalization from 'if' to 'If' is correctly captured by the prediction. The essential edit\u2014the change in the first letter from lowercase to uppercase\u2014is accurately reflected. Although the prediction does not explicitly show 'he' following 'if,' it is considered as additional context, which the guidelines permit to be flexible with as long as the essential change is captured. Thus, both the edit type and text content criteria are met, which means the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit successfully captures both the edit type and the core text content required by the ground truth. Firstly, the edit type is 'replacement' in both the ground truth and the prediction, so there is an exact match here. Secondly, regarding text content accuracy, the predicted edit captures the essential change, which is the replacement of 'said' with 'asked'. The ground truth specifies 'said Clennam' being changed to 'asked Clennam', which includes context, but the core change is simply 'said' to 'asked'. The additional context ('Clennam') mentioned in the ground truth is not essential for identifying the change, thus the prediction is correct in identifying and replicating the essential edit."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:23:59.993339",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:16:13.075232",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both the type of the edit and the core change it captures. The edit type is 'capitalization' in both the ground truth and the predicted edit, ensuring accuracy in edit type. For text content accuracy, the ground truth edit changes 'if he' to 'If he', while the predicted edit changes 'if' to 'If'. The predicted edit correctly identifies the core change of capitalizing 'if' to 'If', which matches the ground truth's intention. Additional context ('he') in the ground truth does not alter the correctness of the predicted core capitalization change. Thus, the prediction correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit and the ground truth edit both indicate a 'replacement' type, which means they match in terms of edit type. For text content accuracy, the ground truth specifies changing 'said Clennam' to 'asked Clennam', while the prediction focuses on changing 'said' to 'asked'. The core change highlighted by the ground truth is replacing 'said' with 'asked', which is accurately captured in the prediction. The prediction includes the correction of the essential change, 'said' to 'asked', despite not noting 'Clennam'. Therefore, the predicted edit correctly captures the core change indicated by the ground truth."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:03.933814",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:15:16.506378",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "If",
            "corrected_text": "if",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:40.534883",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:17:44.931134",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures both the edit type and text content of the ground truth edit. \n\n1. Edit Type Accuracy: Both the ground truth and predicted edits are classified as 'punctuation'. This matches perfectly, so the edit type is correct.\n\n2. Text Content Accuracy: The core change from 'high road' to 'high-road' is accurately captured in the predicted edit. Though the prediction may include additional context, in this case, both texts ('original_text' and 'corrected_text') in the ground truth and prediction are identical. Therefore, the essential edit is correctly captured.\n\nSince both the edit type and text content are accurately matched, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit accurately. Both the ground truth and predicted edits are labeled as 'punctuation', which corresponds correctly to the actual change made in the text. The change involves adding a comma to the text, transforming 'materials costing' into 'materials, costing'. The essential core change, which is the insertion of a comma, is correctly identified and documented in both the ground truth and the predicted edit. Therefore, the text content accurately captures the modification intended in the ground truth. Since both the edit type and the text content match the ground truth's intention, the prediction is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tossed about and",
            "corrected_text": "tossed about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. \n\n1. Edit Type Accuracy: The type of edit in both the ground truth and the prediction is 'punctuation', and they match exactly. Therefore, the edit type is correct.\n\n2. Text Content Accuracy: The core change identified in the ground truth is the addition of a comma after the word 'about', changing 'about and' to 'about, and'. The predicted edit, 'tossed about and' to 'tossed about, and', indicates the same punctuation change. Even though the prediction includes extra context ('tossed about') in terms of surrounding words, it still captures the essential punctuation correction specified by the ground truth. \n\nSince the prediction meets both criteria accurately, it is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion, did",
            "corrected_text": "tion did",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and predicted edits are of type 'punctuation', which means the predicted change matches the type specified by the ground truth. \n\n2. Text Content Accuracy: The core change in the ground truth is the removal of the comma between 'association' and 'did'. The predicted edit accurately captures this core change by removing the comma between 'tion' (a part of 'association') and 'did'. Both the ground truth and predicted edits focus on removing the same punctuation mark, thereby fulfilling the essential requirement for text content accuracy. Other parts of the text context ('asso' vs. missing 'asso') do not alter the core punctuation correction, making the prediction contextually aligned with the ground truth's intent. Thus, the predicted edit is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in both criteria specified for evaluation. Firstly, the edit type in both the ground truth and the predicted edit is 'punctuation,' indicating that they are aligned in terms of the type of correction being made. Secondly, the text content accurately captures the core change identified in the ground truth. Both the ground truth and the predicted edit change 'earnestly telling' to 'earnestly, telling,' indicating the insertion of a comma after 'earnestly.' This crucial punctuation change is the essential edit intended by the ground truth, and it is accurately reflected in the prediction. Therefore, the predicted edit is correct as it matches the ground truth in both edit type and text content accuracy."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the edit type as 'punctuation', which matches the edit type in the ground truth. For text content accuracy, the ground truth specifies changing 'said' to 'said,', indicating the addition of a comma immediately following 'said'. The predicted edit modifies 'and said' to 'and said,', maintaining the core change of adding a comma after 'said'. The prediction includes additional context ('and'), but that does not alter the core change. Since the essential punctuation change is accurately captured, the prediction meets both criteria for edit type and text content accuracy."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is correct for the following reasons: \n\n1. **Edit Type Accuracy:** Both the ground truth and the predicted edit specify the edit type as 'punctuation'. This is an exact match, fulfilling the requirement for edit type accuracy.\n\n2. **Text Content Accuracy:** Both the ground truth and the predicted edit show the same change in text content, specifically changing 'Clennam in' to 'Clennam, in'. The core change\u2014adding a comma after 'Clennam'\u2014is captured accurately in both cases. The predicted edit correctly reflects the essential punctuation adjustment that the ground truth identifies.\n\nGiven these assessments, the prediction matches the ground truth in terms of both edit type and text content, leading to a conclusion that the prediction is correct."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:39.734300",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:17:18.697356",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in both criteria: edit type accuracy and text content accuracy. \n\n1. Edit Type Accuracy: Both the ground truth and forecasted edit lists the edit type as 'punctuation,' ensuring that the prediction aligns perfectly with the intended change category of the ground truth. \n\n2. Text Content Accuracy: The core change from 'high road' to 'high-road' is the same in both the ground truth and predicted edit. This shows that the model has accurately captured the essential nature of the correction required, which is the insertion of a hyphen between 'high' and 'road'. Consequently, the prediction precisely reflects the ground truth's intention for both text and punctuation changes.\n\nSince both criteria are satisfied, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit based on both criteria. Firstly, the edit type is 'punctuation' in both the ground truth and predicted edit, satisfying the requirement for edit type accuracy. Secondly, the text content accuracy criterion is met, as the predicted text accurately captures the core change specified in the ground truth edit: the insertion of a comma, changing 'materials costing' to 'materials, costing'. The prediction correctly identifies this change without any inaccuracies. Therefore, the prediction is considered accurate."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, which satisfies the requirement of Edit Type Accuracy. Secondly, the text content in both the ground truth and the prediction reflects the same core change: the insertion of a comma between 'about' and 'and', changing 'about and' to 'about, and'. This accurately captures the essential edit indicated in the ground truth. Since both the type and the core text change align perfectly, the prediction is correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is correct based on both criteria. \n\n1. Edit Type Accuracy: The type of edit in both the ground truth and the prediction is 'punctuation.' This matches exactly, satisfying the requirement for type accuracy. \n\n2. Text Content Accuracy: The actual change involves adding a comma between the words 'earnestly' and 'telling,' transforming 'earnestly telling' to 'earnestly, telling.' The prediction captures this change precisely, reflecting the core change identified in the ground truth. The context included (the words themselves) matches what is necessary to understand the core punctuation change. Therefore, the prediction accurately reflects the intention of the original edit. \n\nSince both the edit type and text content are correct, the prediction is deemed accurate according to the specified criteria."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches the ground truth edit type 'punctuation'. Since the type is the same, this criterion is satisfied.\n\n2. Text Content Accuracy: The core change identified in the ground truth is adding a comma after 'said', changing it to 'said,'. The predicted edit captures this same core change by changing 'and said' to 'and said,'. The essential modification is accurately reflected, despite the predicted edit containing additional context ('and' before the core text 'said'). Therefore, the text content accuracy criterion is also satisfied.\n\nSince both criteria are met, the predicted edit is correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit meets both criteria for evaluation: \n\n1. **Edit Type Accuracy**: The edit type in the ground truth is 'punctuation', and the predicted edit also has the same edit type 'punctuation'. This matches exactly, satisfying the first criterion.\n\n2. **Text Content Accuracy**: The ground truth shows a change from 'Clennam in' to 'Clennam, in', adding a comma. The predicted edit accurately captures this same change from 'Clennam in' to 'Clennam, in'. Both the original and corrected texts match exactly in context and in the punctuation change, ensuring the core change intended by the ground truth is reflected precisely.\n\nTherefore, based on both the matching edit type and precise capture of the essential textual change, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:39.848928",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:18:00.898763",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both the edit type and text content. First, the edit type 'punctuation' is consistent between the prediction and the ground truth, fulfilling the requirement for Edit Type Accuracy. Second, the core textual change from 'high road' to 'high-road' is identical in both the ground truth and prediction, satisfying the requirement for Text Content Accuracy. As both criteria are met, the prediction accurately captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both critical areas: edit type and text content. \n\n1. Edit Type Accuracy: The edit type for both the ground truth and the prediction is 'punctuation'. There is an exact match in the classification of the type of edit that has been made. \n\n2. Text Content Accuracy: Both the ground truth and the prediction correctly identify the core change, which is the insertion of a comma in 'materials costing' to become 'materials, costing'. The essential change\u2014the addition of a comma\u2014has been captured correctly in the predicted edit. \n\nSince both the edit type and the text content match the ground truth perfectly, the prediction is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures both the edit type and the text content as specified in the ground truth. \n\n1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation'. This is a direct match, fulfilling the first criterion for correctness.\n\n2. Text Content Accuracy: The essential change, where 'about and' is corrected to 'about, and', is accurately captured in both the ground truth and predicted edits. The core change\u2014insertion of a comma\u2014is clearly reflected in the corrected text provided by the prediction. Thus, the prediction fulfills the second criterion as well.\n\nOverall, since both criteria are met, the predicted edit is deemed correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures both the edit type and the text content as specified in the ground truth. \n\n1. Edit Type Accuracy: The type of edit is 'punctuation' in both the ground truth and the prediction. The predicted edit correctly identifies the change in punctuation, thus matching the edit type exactly.\n\n2. Text Content Accuracy: The ground truth specifies a change from 'earnestly telling' to 'earnestly, telling', which is a punctuation insertion after 'earnestly'. The predicted edit has captured this core change accurately. It correctly reflects the insertion of the comma and does not include any extraneous modifications to the text itself.\n\nSince both criteria are satisfied, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches exactly with the ground truth edit type. Therefore, the edit type is correct. 2. Text Content Accuracy: The predicted edit captures the essential change from 'said when' to 'said, when', which is the core change identified in the ground truth. The essential addition of a comma is accurately captured in the predicted edit. Since both the edit type and the text content match the ground truth, the prediction is correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The edit type 'punctuation' matches exactly between the ground truth and the prediction. There is no discrepancy in the type of edit identified (punctuation). 2. Text Content Accuracy: The predicted edit correctly captures the core change identified by the ground truth, which is the addition of a comma after 'said'. Although the prediction includes additional context ('and said' instead of just 'said'), it still accurately reflects the essential change (adding a comma after 'said'). The presence of additional words does not interfere with capturing the essential punctuation edit. Therefore, the prediction correctly reflects the ground truth edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the type of edit as 'punctuation', which matches the ground truth. The text content accuracy is also met because the essential edit of inserting a comma after 'Clennam' to change 'Clennam in' to 'Clennam, in' is captured accurately. Both the type and the core textual change align perfectly with the ground truth."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:28.435055",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:17:26.432767",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow,",
            "corrected_text": "Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:32.468092",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:18:26.292254",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SHADOW,",
            "corrected_text": "SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:34.900779",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:18:49.051761",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SHADOW.",
            "corrected_text": "SHADOW",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:42.161724",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:19:34.727422",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 3,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit accurately captures both the edit type and the text content change as intended by the ground truth. \n\n1. **Edit Type Accuracy**: The edit type in both the ground truth and predicted edit is 'punctuation'. The prediction correctly identifies the type of change required to align with the ground truth. Therefore, the edit type matches exactly, fulfilling the first criterion.\n\n2. **Text Content Accuracy**: The ground truth indicates a punctuation change from 'dull autumn' to 'dull, autumn'. The predicted edit also reflects this same change from 'dull autumn' to 'dull, autumn'. Even though the line numbers differ, the instruction explicitly states to ignore line numbers for this evaluation and only focus on the textual change. Thus, the core change, which is the insertion of a comma, is correctly identified and applied in the predicted edit, satisfying the second criterion.\n\nTherefore, since both criteria are met, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly matches the type and content of the ground truth edit. 1. Edit Type Accuracy: Both the ground truth and the predicted edit have a type of 'punctuation', which matches exactly, satisfying the first criterion. 2. Text Content Accuracy: The core change identified in both the ground truth and predicted edits is an insertion of a comma after 'Chalons', changing 'Chalons was' to 'Chalons, was'. The predicted edit accurately captures this essential change. The inclusion of line numbers is irrelevant to the evaluation per the instructions. Therefore, since both the edit type and the essential text content change are correctly captured, the prediction is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit captures the same edit type as the ground truth, which is 'replacement'. This means that both the ground truth and the predicted edit intended to change one piece of text to another. Regarding text content accuracy, both the ground truth and prediction change 'sodden' to 'soddened'. The core change in both instances is the addition of 'ed' to 'sodden', making the text content accuracy aspect correct as well. The only difference between the ground truth and prediction lies in the line number, which is irrelevant as per the evaluation criteria. Since both the edit type and text content are correctly captured, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:37.578384",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:19:20.532672",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit based on both criteria. \n\n1. Edit Type Accuracy: The edit type is correctly identified as 'punctuation' in both the ground truth and the predicted edit. This exact match confirms the edit type accuracy.\n\n2. Text Content Accuracy: The core change involves adding a comma after 'Chalons' to transform 'Chalons was' into 'Chalons, was.' Both the ground truth and the predicted edit reflect this punctuation change accurately. The prediction includes the necessary text content before and after the punctuation change ('Chalons' and 'was'), ensuring the essential edit is correctly captured.\n\nSince both the edit type and the text content align accurately with the ground truth, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river, Saone",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:53.376823",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:20:27.934799",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. Firstly, the type of edit is 'punctuation' in both the predicted and ground truth edits, which indicates that the prediction correctly identified the nature of the correction as related to punctuation. Secondly, the text content in both the ground truth and predicted edits shows the addition of a comma between 'dull' and 'autumn', changing 'dull autumn' to 'dull, autumn'. The core change, which is the insertion of a comma, is accurately captured by the prediction. Since both the edit type and the text content of the predicted edit align perfectly with the ground truth, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria evaluated. First, the edit type is 'punctuation' in both the ground truth and predicted edit, so the edit type accuracy criterion is met. Second, the text content of the core change is 'man slowly' to 'man, slowly' in both the ground truth and the prediction\u2014an insertion of a comma between 'man' and 'slowly'. Therefore, the text content accuracy criterion is also satisfied, as the essential change in punctuation is correctly captured. Since both criteria are fulfilled, the predicted edit is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit type 'punctuation' matches the ground truth edit type exactly, fulfilling the first criterion for edit type accuracy. In terms of text content accuracy, the predicted change captures the core change identified in the ground truth. Both the ground truth and the predicted edits suggest the addition of a comma after the word 'Chalons' in the phrase 'Chalons was', changing it to 'Chalons, was'. Thus, the essential edit is captured correctly, leading to complete alignment with the ground truth. Given that both criteria are met, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures both the edit type and the text content as identified in the ground truth edit. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit identify the edit type as 'replacement', which matches exactly. Therefore, the edit type accuracy criterion is satisfied.\n\n2. Text Content Accuracy: The essential change in the ground truth is from 'sodden' to 'soddened'. The predicted edit captures this core change accurately. There is no additional or missing context that would alter the essentially intended correction indicated by the ground truth. Thus, the text content accuracy is also satisfied.\n\nBased on these evaluations, the predicted edit is correct according to both the criteria provided."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "The",
            "corrected_text": "the",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone.",
            "corrected_text": "Saone,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:06.233399",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:19:48.696851",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is correct as both the edit type and text content accurately match the ground truth edit. \n\n1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches exactly with the ground truth edit type of 'punctuation'.\n\n2. Text Content Accuracy: The prediction captures the core change identified by the ground truth. Both the ground truth and predicted edits show the transformation from 'heart so' to 'heart, so', correctly identifying the need for a comma after 'heart'. There is no deviation from or addition to the core change intended by the ground truth, and hence the text content is accurately reflected in the prediction.\n\nSince both criteria - edit type and text content - align perfectly with the ground truth, the prediction is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth in terms of edit type and text content. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit are of type 'punctuation', which matches exactly.\n\n2. Text Content Accuracy: The core change identified by the ground truth is the addition of a comma in the phrase 'length said', changing it to 'length, said'. The predicted edit also captures this essential modification by correcting 'at length said' to 'at length, said'. Although the predicted edit includes additional context with the word 'at', it correctly implements the core punctuation change between 'length' and 'said'. Therefore, the prediction accurately captures the intention of the ground truth.\n\nSince both criteria\u2014edit type and text content\u2014are matched accurately, the prediction is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the predicted edit and the ground truth are of the 'replacement' type. The prediction matches the required edit type. 2. Text Content Accuracy: The ground truth edit aims to replace 'I hope so' with 'I hoped so'. The core change here is altering 'hope' to 'hoped'. The predicted edit accurately captures this core change by replacing 'hope' with 'hoped'. While the prediction does not include the surrounding words 'I' and 'so', it still correctly identifies and implements the essential change indicated by the original ground truth edit. Therefore, the prediction correctly captures the intention of the ground truth by focusing on the verb tense change, which is the primary edit required. Overall, both criteria are satisfied by the predicted edit, making it correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "(as she did",
            "corrected_text": "indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:58.612297",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:19:51.642357",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr",
            "corrected_text": "generous, Mr",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart",
            "corrected_text": "heart indeed",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope so",
            "corrected_text": "hoped so",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:05.640282",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:20:01.166125",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit for the following reasons: \n\n1. Edit Type Accuracy: Both the ground truth and predicted edit have the edit type labeled as 'punctuation'. This indicates that the nature of the edit, which involves the insertion of a comma, is accurately recognized.\n\n2. Text Content Accuracy: The core change identified in both the ground truth and predicted edit is the addition of a comma between 'heart' and 'so', changing 'heart so' to 'heart, so'. This means the essential punctuation change is correctly captured. The inclusion of the same text context 'heart so' in the prediction further supports the accuracy.\n\nOverall, both the edit type and the core text change align perfectly with the ground truth, leading to a correct evaluation."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the change as a 'punctuation' edit, which matches the edit type of the ground truth. In terms of text content accuracy, the prediction captures the CORE change identified in the ground truth, transforming 'length said' to 'length, said' with the insertion of a comma. Both the type and the content of the edit are accurately represented by the prediction in accordance with the ground truth, thus the prediction is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in both criteria. Firstly, the 'type' of edit specified is 'replacement' for both the ground truth and the prediction, thus meeting the Edit Type Accuracy requirement. Secondly, for Text Content Accuracy, the predicted edit successfully identifies the core change outlined in the ground truth, replacing 'I hope so' with 'I hoped so'. There are no additional words in the prediction that alter context or meaning, and the essential change is accurately captured. Therefore, both the type and content criteria are satisfied, rendering the prediction correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "thanked him from her heart indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:24:59.166047",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:19:52.256819",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:09.337148",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:20:17.199252",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit perfectly matches the ground truth in two critical aspects. First, the Edit Type Accuracy criterion is satisfied because both the ground truth and the prediction specify 'punctuation' as the type of edit, indicating that the model correctly identified the nature of the change required. Second, the Text Content Accuracy criterion is fully met since the predicted change of 'hers and' to 'hers, and' corresponds exactly to the ground truth. The insertion of a comma after 'hers' is the core change, which the prediction captures precisely. Therefore, the prediction is correct both in terms of the type of edit and the text content change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is correct based on the evaluation criteria. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit have the type 'punctuation', which matches exactly, satisfying the first criterion. \n\n2. Text Content Accuracy: The essential change indicated by the ground truth is the insertion of a comma in 'hers matters' to become 'hers, matters'. The predicted edit captures this exact change from 'hers matters' to 'hers, matters'. Therefore, the core change is accurately identified in the predicted edit. \n\nAs both criteria are met, the predicted edit is evaluated as correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth based on both criteria. \n\n1. **Edit Type Accuracy**: The edit type in both the ground truth and the predicted edit is 'punctuation,' indicating a change in punctuation. Since the types match exactly, this criterion is satisfied.\n\n2. **Text Content Accuracy**: The ground truth specifies a change from 'moment with' to 'moment, with,' which introduces a comma after 'moment.' The predicted edit successfully identifies the same change, adding a comma after 'moment,' resulting in 'moment, with.' Thus, the core change identified by the ground truth is captured correctly in the prediction. This satisfies the text content accuracy criterion because the essential edit\u2014the introduction of a comma\u2014is accurately reflected in the prediction, despite any additional context in the strings involved.\n\nBoth conditions for correctness are met, leading to the conclusion that the predicted edit is correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit in both criteria specified. Firstly, the edit type accuracy is met as both the ground truth and the predicted edit specify 'punctuation' as the type. Secondly, the text content accuracy is also met as the core change is correctly identified by the prediction\u2014it captures the insertion of a comma in 'beautiful that' to become 'beautiful, that'. Both the essential edit and the context match perfectly; therefore, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "At this, he thought directly,",
            "corrected_text": "",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:15.876379",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:20:25.190549",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches the ground truth edit type exactly. Therefore, there is no discrepancy in terms of edit type. \n\n2. Text Content Accuracy: The ground truth edit specifies a punctuation correction from 'hers and' to 'hers, and'. The predicted edit, while including additional context 'from hers and' to 'from hers, and', captures the core edit, which is the insertion of a comma after 'hers'. The additional context does not alter the essential change intended by the ground truth, which is the additional comma. Hence, the text content accuracy also aligns with the ground truth.\n\nSince both the edit type and text content criteria are satisfied, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit and the ground truth edit both specify a 'punctuation' change, which means the edit type matches exactly, satisfying the first criterion. In terms of text content accuracy, the ground truth edit changes 'hers matters' to 'hers, matters', indicating the insertion of a comma between 'hers' and 'matters'. The predicted edit changes 'on hers matters' to 'on hers, matters', which also replicates the core change of placing a comma between 'hers' and 'matters'. Although the predicted edit includes additional words ('on') outside the essential change, the core modification identified by the ground truth is correctly captured. Therefore, both the edit type and the text content of the prediction align with the ground truth, deeming the prediction correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment with",
            "corrected_text": "for a moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and predicted edit have the same edit type, 'punctuation', which satisfies the requirement that the edit type must match exactly. \n\n2. Text Content Accuracy: The ground truth edit modifies 'moment with' to 'moment, with', which involves inserting a comma after 'moment'. The predicted edit changes 'for a moment with' to 'for a moment, with', also inserting a comma after 'moment'. Although the predicted edit includes additional context ('for a'), the essential change \u2014 the insertion of a comma after 'moment' \u2014 is accurately captured. Therefore, the prediction matches the intention of the ground truth edit. \n\nBoth criteria are satisfied, so the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so beautiful that",
            "corrected_text": "so beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the predicted edit have the type labeled as 'punctuation'. The edit type matches exactly, so this criterion is satisfied.\n\n2. Text Content Accuracy: The ground truth edit changes 'beautiful that' to 'beautiful, that', which introduces a comma to separate the words. The predicted edit changes 'so beautiful that' to 'so beautiful, that', which also introduces a comma at the same location. Although the predicted edit includes additional context ('so' before 'beautiful'), the core change \u2014 the insertion of a comma after 'beautiful' \u2014 is correctly captured in both cases. Hence, the essential edit is accurately predicted.\n\nSince both the edit type and the text content are correct according to the specified evaluation criteria, the prediction is considered correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "At this, he thought directly,",
            "corrected_text": "",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:13.876605",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:21:31.396688",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit matches the ground truth edit in both criteria: Edit Type Accuracy and Text Content Accuracy. Firstly, the edit type is correctly identified as 'punctuation' in both the ground truth and the prediction. Secondly, the text content accuracy criterion is met as the core change required is the insertion of a comma, transforming 'shore and' into 'shore, and'. The predicted edit captures this core change accurately, irrespective of any additional context, which does not alter the evaluation outcome as per the instructions. Line numbers are explicitly to be ignored, and hence do not affect the judgment."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both key aspects: Edit Type Accuracy and Text Content Accuracy. Firstly, the edit type is 'replacement' in both the ground truth and the prediction, which is an exact match. Secondly, in terms of Text Content Accuracy, the core change required is replacing 'that' with 'than', which the prediction accurately captures by indicating the same change from 'that' to 'than'. There is no discrepancy in the words being replaced or in the context of the replacement. Therefore, both the overall intention and the specific details of the ground truth edit are faithfully and correctly captured by the prediction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:18.155649",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:22:04.445340",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you murmured",
            "corrected_text": "\"Thank you,\" murmured",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The evaluation criteria focus on edit type and text content accuracy, disregarding line numbers.\n\n1. Edit Type Accuracy: Both the ground truth and predicted edits identify the edit type as 'punctuation'. Hence, the edit type matches exactly.\n\n2. Text Content Accuracy: The core change in both edits involves the addition of a comma. The ground truth shows 'Thank you!' being changed to 'Thank you,', indicating a punctuation change from an exclamation mark to a comma. The predicted edit shows 'Thank you murmured' being changed to '\"Thank you,\" murmured.' Although this prediction includes more surrounding text ('murmured'), the essential change - inserting a comma after 'Thank you' - is captured. The additional quotation marks surrounding 'Thank you' in the prediction do not affect the core punctuation change intended by the ground truth.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria required for evaluation. First, the edit type is 'punctuation' in both the ground truth and the prediction, satisfying the requirement for edit type accuracy. Second, the text content accurately reflects the core change from 'shore and' to 'shore, and,' which is the essential alteration indicated in both the ground truth and the predicted edit. The prediction captures the inclusion of a comma, exactly as intended by the ground truth. Therefore, the predicted edit is correct based on the provided criteria."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit based on both criteria. Firstly, the edit type is 'replacement' in both the ground truth and the predicted edit, indicating that the type matches exactly. Secondly, for text content accuracy, the core change is replacing 'that' with 'than', which is identical in both the ground truth and the predicted edit. There is no divergence in the essential text modification required, indicating a perfect match. Thus, the prediction is correct as it fulfills both the required edit type and text content accuracy criteria."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:29.238452",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:21:33.083311",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately matches the ground truth edit in both criteria evaluated. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction. There is an exact match, ensuring edit type accuracy. Secondly, the text content accuracy is satisfied because the core change identified by the ground truth, which is adding a comma to change 'shore and' into 'shore, and', is accurately captured in the predicted edit as well. Therefore, since both the edit type and text content are correct, the predicted edit is considered accurate."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit by matching both the edit type and the text content. \n\n1. Edit Type Accuracy: Both the ground truth and the prediction identify the edit type as 'replacement', which aligns perfectly, ensuring edit type accuracy.\n\n2. Text Content Accuracy: The ground truth identifies a change from 'that' to 'than'. The prediction mirrors this exact change, accurately capturing the essential edit. There are no discrepancies in the text content being modified, and thus the prediction fully reflects the intended correction.\n\nSince both criteria\u2014edit type and text content\u2014are met without issue, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:42.840947",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:21:23.962236",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria specified: \n\n1. **Edit Type Accuracy**: Both the predicted and ground truth edits specify the edit type as 'capitalization'. There is exact agreement in the edit type, satisfying the requirement for type accuracy.\n\n2. **Text Content Accuracy**: The change from 'city' to 'City' is the same in both the prediction and the ground truth. Both texts reflect the core change intended: altering the lowercase 'c' in 'city' to an uppercase 'C'. There is no deviation in the essential change described between the ground truth and the prediction. Thus, the predicted edit accurately captures the text content aspect of the ground truth.\n\nSince both the edit type and text content criteria are met, the prediction is considered to be correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit in both aspects evaluated. First, both the predicted and ground truth edits have the same edit type, 'replacement'. This satisfies the Edit Type Accuracy requirement, as the types do not differ. Secondly, regarding the Text Content Accuracy, the core change in the ground truth, which is replacing 'of' with 'to', is accurately captured in the predicted edit as changing 'return of' to 'return to'. Although the predicted edit includes additional context ('return'), it still reflects the essential change (from 'of' to 'to') correctly. The additional context does not alter the core change and aligns with the requirement that a prediction may include more words as long as the essential change is identical to the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is deemed correct as it satisfies both evaluation criteria. \n\n1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches exactly with the ground truth. Since there is no discrepancy in the edit type, this criterion is fully satisfied.\n\n2. Text Content Accuracy: The original and corrected texts in the prediction also precisely match the ground truth. Both the ground truth and the predicted edit indicate a change from 'them,' to 'them;'. This captures the core change intended by the ground truth. There is no deviation in the core text content from what the ground truth specifies. Therefore, the text content accuracy criterion is also fully satisfied.\n\nGiven that both the type and content criteria are met, the predicted edit accurately reflects the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the edit type as 'punctuation', which matches the ground truth, fulfilling the first criterion. For text content accuracy, the core change in the ground truth is the addition of a comma after 'existence', altering it from 'existence' to 'existence,'. The predicted edit captures this essential change by altering 'existence at' to 'existence, at', thus correctly reflecting the insertion of the comma. The additional context 'at' in the prediction does not affect the correctness as it does not alter the core change specified in the ground truth. Therefore, both criteria\u2014edit type and content accuracy\u2014are satisfied, making the prediction correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the intention of the ground truth edit. Both the ground truth and the predicted edits have the same edit type: 'punctuation'. This meets the first criterion regarding edit type accuracy. As for text content accuracy, the core change intended by the ground truth is adding a comma after 'motionless', changing it from 'motionless' to 'motionless,'. The predicted edit captures this change by transforming 'motionless when' to 'motionless, when'. Although the predicted edit includes additional context ('when'), the essential change (the insertion of the comma after 'motionless') is correctly applied. Therefore, both criteria for a correct edit are satisfied."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the intention of the ground truth edit. Both the ground truth and predicted edits have the same 'type', which is 'punctuation', satisfying the first criterion for Edit Type Accuracy. The core change in the text content is the replacement of a comma with a semicolon after the word 'stand-still'. Although the predicted edit includes additional context ('to') after the punctuation change, it still captures the essential change accurately, which is the change from a comma to a semicolon. Since the edit type matches and the core textual change is accurately captured, the prediction is considered correct."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in both edit type and text content. \n\n1. **Edit Type Accuracy**: Both the ground truth and the predicted edit specify the type as 'punctuation'. This indicates that the focus is on changing punctuation rather than altering the text or inserting new words. The match in edit type between the ground truth and the prediction is precise and accurate. \n\n2. **Text Content Accuracy**: The core change in the ground truth is the insertion of a comma after the word 'view', changing 'view' to 'view,'. The predicted edit captures this intention correctly, as it changes 'view by' to 'view, by', ensuring the same essential punctuation modification by adding a comma after 'view'. While the predicted edit includes the context of the subsequent word 'by', it successfully captures the main intention of the ground truth change, which is the addition of the comma after 'view'. \n\nThus, given that both the type and content criteria are met accurately, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches exactly with the ground truth edit type. Therefore, the edit type criterion is fulfilled. \n\n2. Text Content Accuracy: The essential core change identified in the ground truth is the alteration of the punctuation at 'existence,' to 'existence;'. The predicted edit captures this core change, transitioning from 'existence' followed by a comma to 'existence' followed by a semicolon. The predicted edit does include additional context ('is'), but as per the evaluation criteria, adding more text before or after the core change is acceptable as the essential punctuation change is correctly captured. \n\nThus, both the edit type and the essential text content change are accurately represented in the predicted edit, aligning it with the ground truth's intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:42.009036",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:22:14.829474",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The evaluation criteria focus on two main points: Edit Type Accuracy and Text Content Accuracy, specifically ignoring any discrepancies in line numbers. First, the Edit Type Accuracy is satisfied as both the ground truth and the predicted edit identify the type as 'capitalization'. Second, the Text Content Accuracy is also met because the essential change from 'city' to 'City' has been correctly captured in both the ground truth and the predicted edit. Despite the presence of different line numbers, this aspect was to be ignored during evaluation. Therefore, the predicted edit accurately reflects the intention of the ground truth edit according to the specified criteria."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 6,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The evaluation criteria focus on the edit type accuracy and the text content accuracy, explicitly ignoring line numbers. \n\n1. **Edit Type Accuracy**: Both the ground truth and the predicted edit specify the 'replacement' type. This indicates that the prediction correctly identifies the type of change that needs to be made.\n\n2. **Text Content Accuracy**: The ground truth edit specifies a change from 'of' to 'to', and the predicted change is exactly the same - 'of' to 'to'. This means the core change in the text content as identified by the ground truth is accurately captured in the prediction.\n\nSince both the edit type and the text content match between the ground truth and the predicted edit, the predicted edit is considered correct according to the given criteria."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit accurately captures the type of edit, which is 'punctuation', matching exactly with the ground truth. Regarding text content accuracy, the core change from 'it,' to 'it;' is correctly captured in both the ground truth and the predicted edit. While the line numbers differ, this aspect is to be ignored as per instructions. Therefore, since both the type and the essential textual change are accurately predicted, the edit is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in terms of edit type and text content. Both edits are of the 'punctuation' type. The essential change identified in the ground truth is replacing a comma with a semicolon after the word 'existence'. The predicted edit captures this change accurately by showing 'existence is' being corrected to 'existence; is'. It includes additional context ('is'), but this does not affect the core correction of changing ',' to ';' after 'existence'. Therefore, the prediction meets both criteria for correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege; lord",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence; at",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view; by",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:50.294834",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:22:04.453702",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the city",
            "corrected_text": "the City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit and the ground truth edit both have the same edit type: 'capitalization'. This satisfies the criterion for Edit Type Accuracy, as they match exactly. For Text Content Accuracy, the essential change required by the ground truth is the capitalization of the word 'city' to 'City'. The predicted edit captures this change accurately, as it involves changing 'the city' to 'the City'. Although the predicted edit includes additional context ('the'), the core change (capitalization of 'city') is correctly captured, aligning with the ground truth's intention. Hence, both the edit type and the text content criteria are met, deeming the prediction correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them images",
            "corrected_text": "them; images",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identified the type of edit as 'punctuation,' which matches the ground truth. The core change in the text content involves altering the punctuation from a comma to a semicolon after the word 'them.' The predicted edit reflects this change by correctly changing 'them,' to 'them;', which captures the essential alteration indicated in the ground truth. While the prediction includes additional context ('images'), the central change of replacing the comma with a semicolon is accurately captured. Thus, both the edit type and text content criteria are met."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit captures the intention of the ground truth edit accurately. Both the ground truth and predicted edit have the same edit type 'punctuation', which matches the requirement that the edit type must match exactly, satisfying the edit type accuracy criterion. Regarding text content accuracy, the core change in the ground truth is the addition of a comma after 'existence', changing 'existence' to 'existence,'. The predicted edit includes additional context ('existence at' to 'existence, at') but captures the essential change of inserting a comma after 'existence'. Since the core change is represented correctly and the edit type matches, the prediction is correct according to the given criteria."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The evaluation focuses on two criteria: edit type accuracy and text content accuracy. \n\n1. **Edit Type Accuracy:** Both the ground truth and the predicted edit classify the change as a 'punctuation' edit, indicating a modification in punctuation marks rather than in capitalization, insertion, or any other type. This means that the type of edit is correctly matched.\n\n2. **Text Content Accuracy:** The core change identified in the ground truth edit is altering the punctuation after 'it', changing from a comma to a semicolon ('it,' to 'it;'). The predicted edit captures this essential change as it also alters 'it to' (which contains 'it,') to 'it; to'. Even though the predicted edit includes subsequent context, it accurately transforms 'it,' to 'it;'. The primary alteration in punctuation is what determines the success here.\n\nThus, both the type and the content of the predicted edit successfully reflect the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the criteria provided. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit specify the edit type as 'punctuation.' Since the edit types match exactly, this criterion is satisfied. \n\n2. Text Content Accuracy: The core change identified in the ground truth is the addition of a comma after 'motionless' (i.e., 'motionless' \u2192 'motionless,'). The predicted edit also includes this change, adding a comma after 'motionless,' resulting in 'motionless, when.' Although the predicted edit includes additional context by mentioning 'when' after the change, the essential alteration (adding a comma after 'motionless') aligns with the core change identified in the ground truth. Therefore, the prediction accurately captures the intended punctuation edit, and this criterion is satisfied.\n\nOverall, both criteria are met; hence, the prediction is correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit captures the correct edit type and the essential text content change as indicated by the ground truth. \n\n1. Edit Type Accuracy:\n   - Both the ground truth and the predicted edit classify the change as a 'punctuation' edit. Hence, the edit type matches exactly.\n\n2. Text Content Accuracy:\n   - The ground truth identifies the addition of a comma immediately after the word 'view'. This is captured in both the ground truth ('view' to 'view,') and the prediction ('view by' to 'view, by').\n   - The predicted edit includes additional context ('by'), but it does not alter the essential change required, which is the insertion of a comma after the word 'view'.\n\nTherefore, the predicted edit successfully captures the core change, aligning accurately with the ground truth edit. Hence, the prediction is correct."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in both key areas. First, the 'type' is 'punctuation' in both the ground truth and predicted edits, satisfying the requirement for edit type accuracy. Second, for text content accuracy, the core change involves replacing a comma with a semicolon after the word 'existence.' The predicted edit 'original_text: existence is' to 'corrected_text: existence; is' correctly captures this punctuation change (from a comma to a semicolon). While the predicted edit includes an extra word 'is' in its context, the essential edit (the change from ',' to ';') is accurately captured as specified in the ground truth. Therefore, the predicted edit is considered correct overall."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still to",
            "corrected_text": "still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege, lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "night, each",
            "corrected_text": "night, to each",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:42.985502",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:23:06.956118",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the criteria given. Firstly, the Edit Type Accuracy is correct because both the predicted and ground truth edits specify the type as 'italicize'. This matches exactly, fulfilling the first criterion of having the same edit type. Secondly, regarding Text Content Accuracy, both the predicted and ground truth edits indicate that the word 'him' should be italicized. The essential change, which is italicizing 'him', is correctly captured in both the original and corrected text fields. Although there may be more context available, the core change identified by the ground truth is accurately reflected in the prediction. Therefore, the prediction meets the requirement for text content accuracy. Since both criteria are satisfied, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 40,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit is correct based on the evaluation criteria provided. \n\n1. Edit Type Accuracy: The edit type in both the ground truth and predicted edit is 'replacement', which matches exactly. This satisfies the requirement for edit type accuracy.\n\n2. Text Content Accuracy: The essential change in the ground truth is 'authorize' being corrected to 'authorise'. The predicted edit captures this exact core change, as it also shows 'authorize' being replaced by 'authorise'. The prediction does not introduce any deviation from the essential change, thereby fulfilling the text content accuracy requirement.\n\nAs both the edit type and text content match the ground truth's intention, the prediction is considered correct, ignoring line number discrepancies as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now, though",
            "corrected_text": "now; though",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boiling over",
            "corrected_text": "boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "score; now",
            "corrected_text": "score; now,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:47.825030",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:22:54.042870",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam,",
            "corrected_text": "said Clennam;",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The type of edit, 'punctuation', matches exactly between the ground truth and the predicted edit, satisfying the first criterion.\n\n2. Text Content Accuracy: The core change in punctuation from a colon (:) to a semicolon (;) in the term 'Clennam' is correctly identified in both the ground truth and the prediction. While the predicted edit includes additional context by incorporating 'said' before 'Clennam', it does not alter the essential change of punctuation which is the focus of the ground truth. Therefore, the text content accuracy criterion is met.\n\nSince both criteria are satisfied, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "*him*",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Both the ground truth and the prediction have the edit type as 'italicize,' which matches exactly. Regarding text content, the ground truth lists 'original_text' and 'corrected_text' as 'him,' with the edit type indicating italicization. The predicted correction uses '*him*' to signify the italicization, which is commonly accepted in digital formats to denote the same change. Thus, both the essential edit type and text content are correctly captured by the prediction, aligning with the ground truth's intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria required for evaluation. Firstly, the Edit Type Accuracy is correct because the type 'punctuation' is the same in both the ground truth and prediction. Secondly, the Text Content Accuracy is also correct, as the core change from 'now I' to 'now, I' is precisely captured, which reflects the intention of adding a comma after 'now'. Both the type and content indicate an identical edit, thus, the prediction is correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth edit in both criteria. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit are of the type 'replacement.' This indicates that the nature of the edit is to replace text with a different version, which aligns perfectly between the two annotations.\n\n2. Text Content Accuracy: The core change in text content from 'authorize' to 'authorise' is correctly captured in the prediction. Since both versions agree on the words to be replaced and the substitution, it satisfies the requirement for capturing the essential edit. The prediction includes no additional changes or context that would misrepresent the core intention of the ground truth edit.\n\nTherefore, the predicted edit is accurate with respect to both the type and the content alteration specified by the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "been little",
            "corrected_text": "been a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty sticking",
            "corrected_text": "at twenty; sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:50.439234",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:22:20.165808",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 31,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The evaluation requires us to ignore the line numbers completely, focusing only on the accuracy of the edit type and the text content. In this case, both the ground truth and predicted edit specify the same edit type: 'italicize', which is the first criterion. The original text 'him' and the corrected text 'him' in both the ground truth and predicted edits match entirely, indicating that the core change is correctly captured. There are no additional words that would indicate a lack of focus on the essential edit. Given these factors, the predicted edit accurately reflects the intention of the ground truth edit with respect to both edit type and text content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 35,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Firstly, the edit type 'punctuation' matches exactly with the ground truth edit type, satisfying the requirement for edit type accuracy. Secondly, the text content accuracy is also maintained. The essential change from 'now I' to 'now, I' is correctly captured in the prediction, with the addition of a comma after 'now'. The prediction matches the core change identified by the ground truth, fulfilling the requirement for text content accuracy. Although the line number differs, it is explicitly stated to be ignored for this evaluation. Therefore, the prediction is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "though",
            "corrected_text": "though,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty",
            "corrected_text": "twenty;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:43.612165",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:23:05.700395",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr",
            "corrected_text": "For, Mr",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation'. There is an exact match in terms of edit type, which accurately reflects both intentions of adding punctuation. \n\n2. Text Content Accuracy: The core change required in the ground truth is the insertion of a comma between 'For' and 'Mr'. The predicted edit also performs this exact change. Although the original text slightly differs ('For Mr' vs 'For Mr. Pancks'), the prediction captures the essential edit intended by the ground truth, which is the addition of the comma just after 'For'. \n\nSince both the edit type and core change in text content are accurately captured in the prediction, the predicted edit correctly matches the ground truth edit's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth in both criteria. Firstly, the edit type 'punctuation' is identical for both the ground truth and the prediction, ensuring type accuracy. Secondly, the text content change from 'quickly that' to 'quickly, that' is perfectly captured in both the prediction and the ground truth. The core change, which is the addition of a comma after 'quickly', is correctly identified without any deviation. Therefore, the prediction is accurate in capturing both the type and the essential text change intended by the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:44.007232",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:23:38.255716",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly matches the ground truth in both criteria. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, satisfying the requirement for Edit Type Accuracy. Secondly, the Text Content Accuracy is also met because the prediction captures the core change by inserting a comma after 'quickly', transforming 'quickly that' into 'quickly, that', which precisely matches the ground truth's intention. The prediction does not deviate from the crucial change identified in the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed. For",
            "corrected_text": "bed, for",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "street nearly",
            "corrected_text": "street, nearly",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me; not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_kimi_k2_5",
        "date": "2026-02-22T13:25:52.921218",
        "annotator": "Kimi K2.5",
        "annotation_date": "2026-02-22T13:23:18.588660",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Both the edit type and text content of the predicted edit match the ground truth exactly. The edit type is 'punctuation' in both the predicted and ground truth edits, fulfilling the criterion for edit type accuracy. For text content accuracy, the essential change in both cases is the addition of a comma between 'quickly' and 'that', transforming 'quickly that' into 'quickly, that'. The core change is captured correctly, and since the context beyond the actual change can include additional words, this is considered correct. Therefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Moonshot",
    "release_date": "2025-07-11",
    "release_notes": "Release date taken from Moonshot AI's official Kimi K2 announcement."
  },
  {
    "model_name": "Kimi K2.6 Nitro (OR)",
    "model_id": "or_kimi_k2_6",
    "date": "2026-04-26T09:35:08.302625",
    "shots": 2,
    "config": {
      "model_id": "or_kimi_k2_6",
      "display_name": "Kimi K2.6 Nitro (OR)",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-04-26",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Kimi K2.6 Nitro (OR)",
    "annotation_date": "2026-04-26T08:55:59.199352",
    "file_results": [
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:43.933872",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T08:55:59.199352",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"howling\" in the phrase \"howling over\" \u2192 \"howling, over\". The prediction captures the same core punctuation change by converting \"howling\" \u2192 \"howling,\". Although it omits the following word \"over\" from the original/corrected text spans, it still reflects the essential intended edit (adding the comma after \"howling\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day.\" The prediction captures the same core edit by changing \"yonder\" \u2192 \"yonder,\", which is exactly the insertion of a comma after \"yonder.\" The omitted surrounding context (\"to-day\") does not change the essential intention of the edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and.\" The predicted edit \"pockets\" \u2192 \"pockets,\" captures the same core punctuation change (inserting a comma immediately after \"pockets\"). The prediction provides slightly less surrounding context (it omits the following word \"and\"), but it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir",
            "corrected_text": "Sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:34.498072",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:04:48.227473",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change the phrase \"howling over\" to \"howling, over\" by inserting a comma after \"howling.\" The core punctuation change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder\". The original and corrected texts match exactly, capturing the core intended punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a capitalization edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"Sir\" to \"sir\", capturing the exact intended lowercase change. No discrepancy in the core edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"pockets and\" to \"pockets, and\", correctly inserting a comma after \"pockets\". The core change is identical."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:35.275036",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:22:00.383315",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), inserting a comma after \"howling.\" This captures the core intended change with no discrepancy. Therefore the predicted edit matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change\u2014adding a comma after \"yonder\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: \"pockets and\" \u2192 \"pockets, and\" (inserting a comma after \"pockets\"). The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "TRAVELLERS",
            "corrected_text": "TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day Sir",
            "corrected_text": "to-day, Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:32.497660",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T08:58:49.898579",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n2) Text Content Accuracy: The ground truth change is to capitalize the initial \"why\" in the phrase \"why did he dine\" \u2192 \"Why did he dine.\" The prediction captures the same core change by converting \"why\" \u2192 \"Why.\" Although it includes less surrounding context, it correctly reflects the essential intended edit (capitalizing the first word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones!\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:29.469110",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:08:51.250633",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"capitalization\" and the predicted type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"why did he dine\" to \"Why did he dine\", which is specifically capitalizing the initial word \"why\" to \"Why\". The prediction captures this same core change by editing \"why\" \u2192 \"Why\". Although it includes less surrounding context, it correctly reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think, why",
            "corrected_text": "think, \"why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:29.684818",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:22:41.438667",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial word in the phrase \"why did he dine\" \u2192 \"Why did he dine\". The prediction captures this core change by editing \"why\" \u2192 \"Why\". Although it provides less surrounding context than the ground truth, it correctly represents the essential capitalization correction intended."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think, why",
            "corrected_text": "think, \"why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:32.753021",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T08:53:11.379460",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial \"if\" in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same core change by capitalizing \"if\" \u2192 \"If\". Although it includes less surrounding context (it omits \"he\"), it still reflects the essential intended correction: changing the lowercase 'i' to uppercase at the start of \"if\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are \"replacement\" edits, so the edit type matches.\n\n2. Text Content Accuracy: The ground truth changes the verb phrase from \"said Clennam\" to \"asked Clennam\". The prediction changes \"said\" to \"asked\" without including the trailing context \"Clennam\". This still captures the core intended change (replacing \"said\" with \"asked\"), and omitting surrounding context is acceptable as long as the essential substitution is correct.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:34.980047",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:04:54.840700",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he.\" The prediction capitalizes the same core word \"if\" \u2192 \"If\" but provides less surrounding context. This still captures the essential intended change (capitalizing \"if\"), and missing the following word \"he\" does not alter the core edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches.\n\n2. Text Content Accuracy: The ground truth intends to change the verb \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The predicted edit replaces \"said\" with \"asked\" without including the following word \"Clennam\", but applying this change within the phrase yields the same corrected result (\"asked Clennam\"). The core intended change (said \u2192 asked) is correctly captured."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:32.981770",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:17:29.990690",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same essential change by capitalizing \"if\" \u2192 \"If\" (with less surrounding context). Since the core intended correction is the capitalization of \"if\" at the start, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth replaces the phrase \"said Clennam\" with \"asked Clennam\", where the core intended change is substituting \"said\" with \"asked\" while keeping \"Clennam\" the same. The predicted edit captures this essential substitution (\"said\" \u2192 \"asked\") even though it includes less surrounding context. This still matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:38.818864",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T08:55:09.097083",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change, converting \"high road\" to \"high-road\" (inserting a hyphen between the words). The original_text and corrected_text match the ground truth exactly, so the essential edit is captured correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\", inserting a comma after \"materials\". The core punctuation change is identical, with no discrepancies in the original or corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"about and\" to \"about, and,\" inserting a comma after \"about.\" The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the intended insertion of a comma after \"earnestly.\" Therefore, the core change is identical."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"said when\" to \"said, when\", inserting a comma after \"said\". The essential punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after \"said\" (\"said\" \u2192 \"said,\"). There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\" by inserting a comma after \"Clennam.\" The core punctuation change is identical, with no discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:09.535522",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:05:38.376141",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road,\" capturing the identical core change (inserting a hyphen). Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"materials costing\" to \"materials, costing\", inserting a comma after \"materials\". This captures the core intended punctuation change with identical original and corrected text.\n\nTherefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"about and\" to \"about, and\", inserting a comma after \"about\". The core intended change is captured identically."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same change from \"said when\" to \"said, when\", inserting a comma after \"said\". The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction applies the same core punctuation change, adding a comma after \"said\" within a slightly larger context span (\"and said\" \u2192 \"and said,\"). This preserves the essential intended correction.\n\nBecause both the edit type and the core text change match the ground truth intention, the predicted edit is correct."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". The core intended punctuation change is identical in the prediction and ground truth."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:06.070700",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:19:42.372580",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"high road\" to \"high-road,\" capturing the same core punctuation change (inserting a hyphen). No discrepancy in original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"about and\" to \"about, and\"\u2014inserting a comma after \"about\". The core punctuation change is identical, with matching original and corrected text.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change\u2014adding a comma after \"earnestly.\" Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"said when\" to \"said, when\" (inserting a comma after \"said\"). The core change is identical, with no discrepancy in the before/after text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, adding a comma after \"said\" (\"said\" \u2192 \"said,\"). There is no discrepancy in the original or corrected text. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Clennam in\" to \"Clennam, in,\" inserting a comma after \"Clennam.\" This captures the core intended edit with identical original and corrected text."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:52.474001",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T08:52:31.267678",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:52.474502",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:06:03.536931",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW.",
            "corrected_text": "SUN AND SHADOW",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:33:57.212514",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:18:06.625164",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:14.495339",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T08:55:06.524674",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma after \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly\". The prediction makes the same core change, inserting a comma after \"man\" in a slightly longer span: \"One man slowly\" \u2192 \"One man, slowly\". The additional context word \"One\" does not alter the essential edit. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "towards Chalons was",
            "corrected_text": "towards Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The prediction applies the same core change\u2014adding a comma immediately after \"Chalons\"\u2014but includes additional surrounding context (\"towards Chalons was\" \u2192 \"towards Chalons, was\"). This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:18.213985",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:06:58.431842",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"man slowly\") and the same corrected text (\"man, slowly\"), capturing the identical core change: insertion of a comma after \"man.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original phrase \"Chalons was\" and the same corrected phrase \"Chalons, was\", capturing the identical core change (inserting a comma after \"Chalons\"). Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"sodden\") and the same corrected text (\"soddened\"). The core intended change is captured without deviation."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river, Saone",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:14.510862",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:20:33.248523",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction apply the same core change\u2014adding a comma after \"dull\" so that \"dull autumn\" becomes \"dull, autumn.\" The original and corrected text fields match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"Chalons\"\u2014represented identically as \"Chalons was\" \u2192 \"Chalons, was\". The predicted edit fully captures the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:13.160420",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T08:56:22.278471",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"heart so\" \u2192 \"heart, so\", inserting a comma after \"heart\". This captures the identical core change with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"length said\" \u2192 \"length, said\", inserting a comma after \"length\". The core intended change is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"I hope so\" to \"I hoped so\", i.e., the core modification is changing \"hope\" \u2192 \"hoped\" (present to past tense) while keeping surrounding words the same. The prediction captures this essential change by replacing \"hope\" with \"hoped\". Although it includes less context (only the changed word rather than the full phrase), it still reflects the same intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart (as",
            "corrected_text": "heart indeed (as",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:13.821243",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:10:29.249902",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so,\" inserting a comma after \"heart.\" This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"length said\") and the same correction (\"length, said\"), inserting a comma after \"length.\" This captures the core intended change precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes the verb tense from \"hope\" to \"hoped\" in the phrase \"I hope so\" \u2192 \"I hoped so.\" The prediction captures this core intended change by replacing \"hope\" with \"hoped.\" Although it provides less surrounding context (omitting \"I\" and \"so\"), it correctly identifies the essential replacement required by the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart (as",
            "corrected_text": "heart indeed (as",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:10.595353",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:22:06.318118",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core change is identical with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"length said\") and the same correction (\"length, said\"), capturing the core intended change: insertion of a comma after \"length\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart (as",
            "corrected_text": "heart indeed (as",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:16.779234",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T08:57:05.719779",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"hers and\" to \"hers, and\" by inserting a comma after \"hers.\" The core punctuation change is identical."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"hers matters\" to \"hers, matters\" (inserting a comma after \"hers\"). The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"moment with\" to \"moment, with,\" inserting a comma after \"moment.\" The core punctuation correction is captured identically with no discrepancies."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\" to become \"beautiful, that\". The core punctuation correction is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"they\" to \"They\". There is no difference in the original or corrected text, so the essential edit is captured precisely.\nTherefore, the predicted edit correctly matches the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:31.231994",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:04:39.352893",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"hers and\" to \"hers, and\", inserting a comma after \"hers\". The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both apply the same core change\u2014adding a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The original and corrected text strings are identical between ground truth and prediction, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"moment with\" to \"moment, with,\" inserting a comma after \"moment.\" This captures the identical core correction with no deviation."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same correction (\"beautiful, that\"), inserting a comma after \"beautiful\". The core change is identical. Therefore the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:43.013560",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:20:58.710293",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"hers and\") and the same corrected_text (\"hers, and\"), capturing the core change of inserting a comma after \"hers\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" This captures the core intended punctuation change with identical original and corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with\" (inserting a comma after \"moment\"). The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\", yielding \"beautiful, that\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"they\" is corrected to \"They\". The essential capitalization edit is identical, with no mismatch in original or corrected text."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:41.209678",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T08:58:59.402266",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"within doors\") and the same corrected text (\"within-doors\"), capturing the identical core change of hyphenating the phrase. No discrepancies in content are present."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both indicate replacing \"that\" with \"than\". The core change is identical and fully captures the intended correction.\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:39.719136",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:15:36.352290",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"shore and\" to \"shore, and\", inserting a comma after \"shore\". This captures the same core punctuation correction with identical original and corrected text. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\nText Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". This captures the same core change as the ground truth. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:50.122899",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:24:34.565574",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \"shore\" in the phrase \"shore and\" \u2192 \"shore, and.\" The predicted edit \"shore\" \u2192 \"shore,\" captures the same essential punctuation insertion at the correct location (immediately after \"shore\"). Although it omits the following word \"and\" as context, it still represents the same core intended correction: adding a comma after \"shore.\" \u0644\u0630\u0644\u0643 the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\nText Content Accuracy: Both specify replacing the original text \"that\" with the corrected text \"than\". This captures the exact core change intended in the ground truth. Therefore, the prediction correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that",
            "corrected_text": "that,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy",
            "corrected_text": "fancy,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:35:08.302625",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:01:04.513007",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify changing \"city\" to \"City\", capturing the same core capitalization correction with identical original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as a \"replacement\", so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the original text \"of\" with the corrected text \"to\". The core intended change is identical, with no discrepancy in the replaced or replacement text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit adds the same comma after \"existence\" within a larger span (\"existence at\" \u2192 \"existence, at\"). This includes extra context but preserves the core intended punctuation change. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction also adds a comma immediately after \"motionless\", but includes extra surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This captures the same core punctuation insertion intended by the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit applies the same core punctuation change, adding a comma immediately after \"view\" within a slightly larger context (\"view by\" \u2192 \"view, by\"). This captures the essential intended correction.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:51.997844",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:08:16.854868",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth changes \"city\" to \"City.\" The prediction specifies the same original text and the same corrected text, capturing the identical core capitalization change. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth change is replacing \"of\" with \"to\". The predicted edit replaces \"return of\" with \"return to\", which includes extra surrounding context but preserves the core intended change (\"of\" \u2192 \"to\"). Therefore, the prediction correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as type \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same core change, replacing \"them,\" with \"them;\". There is no divergence in original or corrected text. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction expands the context to include the following word (\"existence at\" \u2192 \"existence, at\"), but the core intended change\u2014inserting a comma immediately after \"existence\"\u2014is captured correctly. The additional context does not alter the essential edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change by inserting a comma immediately after \"motionless\" within a slightly larger span (\"motionless when\" \u2192 \"motionless, when\"). This includes extra surrounding context but captures the essential punctuation insertion at the correct location.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit applies the same core punctuation change within a slightly larger context span (\"view by\" \u2192 \"view, by\"), which still clearly captures inserting a comma immediately after \"view.\" Additional surrounding words are allowed, and the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence, is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:52.539385",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:28:46.932534",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City\". There is no mismatch in the original or corrected text. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as a \"replacement\", so the type matches exactly.\n\nText Content Accuracy: Both indicate the same core substitution, changing \"of\" to \"to\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change the same original text \"them,\" to the same corrected text \"them;\". The core punctuation change (comma to semicolon) is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core punctuation change within a slightly larger context (\"existence at\" \u2192 \"existence, at\"), correctly placing a comma immediately after \"existence.\" The additional surrounding word \"at\" does not alter the essential intended edit.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both ground truth and prediction change \"it,\" to \"it;\". The core punctuation change (comma to semicolon after \"it\") is captured identically. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change in punctuation for the same token: \"stand-still,\" is corrected to \"stand-still;\". The core intended change (comma to semicolon) is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core correction, changing \"existence,\" to \"existence;\". There is no discrepancy in original or corrected text, so the intended edit is captured precisely."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:54.500321",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:01:30.517718",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly. Text Content Accuracy: Both specify the same original_text \"him\" and the same corrected_text \"him\", indicating the intent is to apply italics formatting to the word \"him\" without changing the characters. This matches the core change in the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"now I\" to \"now, I,\" inserting a comma after \"now.\" This captures the full intended correction with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:34:53.085954",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:11:47.653601",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the types match exactly.\n\nText Content Accuracy: Both ground truth and prediction apply italicization to the same word, \"him\", with identical original_text and corrected_text (indicating a formatting change rather than a textual substitution). This captures the core intended change precisely.\n\nTherefore, the prediction correctly matches both the edit type and the content of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"now I\" to \"now, I\", correctly capturing the intended insertion of a comma after \"now\". No discrepancy in the core change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same substitution: \"authorize\" \u2192 \"authorise\". The core change is identical, with no discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:35:03.875003",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:32:30.865332",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same target text \"him\" with no change in wording (only formatting via italics). The prediction captures the identical core intended change (italicizing \"him\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the original text \"authorize\" with the corrected text \"authorise\". This captures the identical core change (American to British spelling). No discrepancies in the strings involved."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "though.",
            "corrected_text": "though,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that boiling-over",
            "corrected_text": "that there boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the dryest",
            "corrected_text": "driest of",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:35:03.937025",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T08:58:34.007672",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For",
            "corrected_text": "For,",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The predicted edit captures the same core punctuation change by editing \"For\" \u2192 \"For,\". Although it omits the following context (\"Mr. Pancks\"), it still correctly represents the essential intended correction: adding a comma after \"For\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit type matches exactly: both are labeled \"punctuation\". Text content also matches the ground truth core change: inserting a comma after \"quickly\" to change \"quickly that\" to \"quickly, that\". No discrepancies in original or corrected text, so the predicted edit captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me;",
            "corrected_text": "me,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:35:00.988059",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:12:40.906467",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\" (inserting a comma after \"quickly\"). The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_kimi_k2_6",
        "date": "2026-04-26T09:35:03.281015",
        "annotator": "Kimi K2.6 Nitro (OR)",
        "annotation_date": "2026-04-26T09:27:28.704549",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"quickly that\" \u2192 \"quickly, that\", inserting a comma after \"quickly\". The core change is identical, with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "spirits Cucumber",
            "corrected_text": "spirits, Cucumber",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Moonshot",
    "release_date": "2026-04-20",
    "release_source": "https://openrouter.ai/moonshotai/kimi-k2.6",
    "release_notes": "OpenRouter lists Kimi K2.6 as Moonshot AI's multimodal next-generation Kimi model. Benchmark route uses Nitro, priority service tier, latency-sorted provider routing, and excludes returned reasoning tokens."
  },
  {
    "model_name": "Kimi K2.7 Code",
    "model_id": "or_kimi_k2_7_code",
    "date": "2026-07-23T15:57:26.095236",
    "shots": 2,
    "config": {
      "model_id": "or_kimi_k2_7_code",
      "display_name": "Kimi K2.7 Code",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Kimi K2.7 Code",
    "annotation_date": "2026-07-23T12:15:45.866003",
    "file_results": [
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:06.567999",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T12:15:45.866003",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:15.940089",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:56:55.401890",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"howling over\" to \"howling, over\", inserting a comma after \"howling\". The core change is identical, with no discrepancies in wording or punctuation. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2. Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change\u2014adding a comma after \"yonder\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Sir\" to \"sir\", capturing the identical core capitalization change. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and\". The original and corrected texts are identical between ground truth and prediction, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:15.925081",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:31:37.369420",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"yonder to-day\" and the same correction \"yonder, to-day\", inserting a comma after \"yonder\". This captures the core intended change with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction change \"Sir\" to \"sir,\" capturing the same core correction (lowercasing the word). Therefore, the prediction correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change, inserting a comma after \"pockets\" (\"pockets and\" \u001e \"pockets, and\"). The original and corrected text strings match the ground truth intention exactly. Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:43.466367",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T12:14:10.055621",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word of the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction captures the core intended change by capitalizing \"why\" \u2192 \"Why\". Although it includes less surrounding context, it correctly represents the essential edit (capitalizing the first word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction does the same core change on the substring \"stones!\" \u2192 \"stones?\". Although it omits the preceding word \"cold\", it still captures the essential intended edit (changing ! to ? after \u201cstones\u201d). Therefore, the text change matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:15.325383",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:57:31.503079",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"why did he dine\" \u2192 \"Why did he dine.\" The predicted edit captures the same core change by changing \"why\" \u2192 \"Why.\" Although it includes less surrounding context, it still reflects the essential intended correction (capitalizing the sentence-initial 'why')."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is converting an exclamation mark to a question mark at the end of the phrase (\"cold stones!\" \u2192 \"cold stones?\"). The prediction captures the same essential punctuation change (\"stones!\" \u2192 \"stones?\") while omitting the preceding word \"cold\". This omission is acceptable because it is just reduced context; the actual punctuation substitution on the same terminal word/phrase is correctly represented.\n\nTherefore, both criteria are satisfied."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:17.832906",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:32:28.260632",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the first word of the phrase/sentence (\"why did he dine\" \u2192 \"Why did he dine\"). The predicted edit targets just the first word (\"why\" \u2192 \"Why\"), which captures the core intended change: capitalizing the initial 'w' in \"why\". The fact that the ground truth includes additional surrounding words is acceptable context; the essential capitalization change is correctly identified."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is converting the terminal punctuation from an exclamation mark to a question mark (\"!\" \u2192 \"?\") at the end of the phrase \"cold stones!\". The prediction performs the same core change on the relevant word ending (\"stones!\" \u2192 \"stones?\"). Although it includes less surrounding context (omits \"cold\"), it still captures the essential punctuation substitution the ground truth specifies.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:20.534237",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:58:24.767001",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial \"if\" in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same core change by converting \"if\" \u2192 \"If\". Although it omits the following word \"he\" from the original/corrected_text fields, it still correctly represents the essential intended correction (capitalizing the word \"if\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth replaces the word \"said\" with \"asked\" within the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The prediction captures the core intended change (\"said\" \u2192 \"asked\"). Although it omits the surrounding context word \"Clennam,\" the essential correction\u2014the substitution of \"said\" with \"asked\"\u2014is correctly represented and does not conflict with the ground truth."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:16.309846",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T13:17:54.690367",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches.\n\n2) Text Content Accuracy: The ground truth replaces the verb \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction replaces \"said\" \u2192 \"asked\" without including the following word \"Clennam\". This still captures the core intended change (changing \"said\" to \"asked\"), and the omitted context does not alter the essential correction. Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "If",
            "corrected_text": "if",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:19.941266",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:32:46.563531",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same core change by capitalizing \"if\" \u2192 \"If.\" Although it omits the following word \"he\" from the original/corrected span, the essential intended edit (capitalizing \"if\") is correctly represented. Additional surrounding context is optional, so this still matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The prediction captures the core intended change (\"said\" \u2192 \"asked\"), even though it omits the surrounding context word \"Clennam.\" Since additional context is optional and the essential substitution is correctly identified, the text content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:47.452860",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:56:47.352577",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text \"high road\" and the same corrected text \"high-road\", capturing the exact intended hyphenation change. No discrepancies in the core edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"materials\" in the phrase \"materials costing\" to produce \"materials, costing.\" The original and corrected texts match the ground truth\u2019s intended core change with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation from \"about and\" to \"about, and\", inserting a comma after \"about\". This captures the core intended change with no discrepancy.\n\nTherefore, the predicted edit correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly.\" The core punctuation change is identical, with matching original and corrected text. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646, the prediction captures the intended edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"said when\" to \"said, when,\" inserting a comma after \"said.\" This captures the exact core change intended by the ground truth with no discrepancies."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction applies the same core change\u2014adding a comma immediately after \"said\"\u2014but includes extra preceding context (\"and said\" \u2192 \"and said,\"). Since the essential edit (comma insertion after \"said\") is correctly captured, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"Clennam in\" to \"Clennam, in\", correctly capturing the intended insertion of a comma after \"Clennam\". There is no discrepancy in the core change."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:00.413020",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:58:32.304554",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road,\" capturing the identical core punctuation change (inserting a hyphen). No discrepancies in original or corrected text are present.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"materials costing\" to \"materials, costing\" (inserting a comma after \"materials\"). The core punctuation correction is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tossed about and",
            "corrected_text": "tossed about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"about\" in the phrase \"about and\" \u2192 \"about, and\". The predicted edit applies the same core punctuation change, merely including additional surrounding context: \"tossed about and\" \u2192 \"tossed about, and\". This captures the essential intended correction (adding a comma after \"about\")."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". The core intended punctuation change is captured identically. Therefore, the predicted edit matches the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"said when\" \u2192 \"said, when\" (inserting a comma after \"said\"). The core change is identical, with no deviation in original or corrected text. Therefore the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"said\" is corrected to \"said,\" by adding a comma immediately after the word. There is no mismatch in original or corrected text. Therefore the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth core change is inserting a comma after \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in.\" The prediction applies the same core punctuation change in a longer excerpt (\"Clennam in amazement\" \u2192 \"Clennam, in amazement\"). The additional context does not alter the essential edit; it still captures the intended comma insertion after \"Clennam.\""
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did not",
            "corrected_text": "association, did not",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:46.262244",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:32:07.457620",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road,\" capturing the identical core punctuation change (inserting a hyphen between the words). No discrepancies in original or corrected text.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials\". Therefore the prediction matches the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma to change \"about and\" to \"about, and\". The original and corrected text strings are identical between ground truth and prediction, so the intended edit is captured precisely."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". The core intended punctuation change is captured precisely with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth intent is to insert a comma after the word \"said\" in the phrase \"said when\" (changing it to \"said, when\"). The prediction specifies \"said\" \u2192 \"said,\", which captures the same essential punctuation insertion (comma after \"said\"). Although the prediction does not include the following word \"when\", it still correctly represents the core change."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The original and corrected texts are identical between ground truth and prediction, so the intended punctuation correction is captured accurately."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "supper\u2014and",
            "corrected_text": "supper, and",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:31.316952",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T12:14:33.193118",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:41.223330",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T13:17:13.347754",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW.",
            "corrected_text": "SUN AND SHADOW",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:42.894919",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:31:57.586303",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW.",
            "corrected_text": "SUN AND SHADOW",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:51.550506",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T12:14:36.823307",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are of type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons\". Therefore the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man",
            "corrected_text": "One man,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:55:53.892572",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T13:19:49.354122",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was.\" The prediction captures the same essential punctuation change by editing \"Chalons\" \u2192 \"Chalons,.\" Although it omits the following word \"was\" from the context, it still accurately represents the core intended edit: adding a comma after \"Chalons.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"sodden\" with \"soddened.\" The core textual change is identical, with no discrepancy in original or corrected text. Therefore, the prediction captures the intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man",
            "corrected_text": "One man,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:12.127203",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:34:43.466386",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex on the o). The core change is identical with no discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"man\" in the phrase \"man slowly\" \u2192 \"man, slowly.\" The prediction performs the same core punctuation change (adds a comma after \"man\") but includes extra surrounding context (\"One\" before the phrase): \"One man slowly\" \u2192 \"One man, slowly.\" This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"Chalons was\" to \"Chalons, was\", correctly capturing the insertion of a comma after \"Chalons\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same change: replacing \"sodden\" with \"soddened\". The core textual correction is identical. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Chapter XI.",
            "corrected_text": "Chapter XI",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "LET LOOSE.",
            "corrected_text": "LET LOOSE",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:11.210686",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:58:56.034352",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"heart\" in the phrase \"heart so\" to become \"heart, so.\" The original_text and corrected_text match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (present tense to past tense). Therefore, the prediction matches the ground truth\u2019s intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr",
            "corrected_text": "generous, Mr",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart (",
            "corrected_text": "heart indeed (",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now Minnie",
            "corrected_text": "now, Minnie",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:16.635828",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:59:16.134315",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction change \"heart so\" to \"heart, so\" by inserting a comma after \"heart.\" The core intended punctuation change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core punctuation insertion, but includes extra surrounding context (\"at length said\" \u2192 \"at length, said\"). This still captures the essential intended correction: adding a comma after \"length\" before \"said.\""
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (present tense to past tense). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr",
            "corrected_text": "generous, Mr",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart",
            "corrected_text": "heart indeed",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:14.569643",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:34:35.932584",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"length\" in the phrase \"length said\" \u2192 \"length, said.\" The prediction applies the same core punctuation change (inserting a comma after \"length\") but includes additional surrounding context: \"at length said\" \u2192 \"at length, said.\" This preserves the essential intended edit.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both identify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (present tense to past tense). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Good, generous Mr.",
            "corrected_text": "Good, generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "thanked him indeed from her heart",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:12.490708",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T12:16:30.445351",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:23.912604",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T13:18:29.240468",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" (\"hers and\" \u2192 \"hers, and\"). The predicted edit applies the same core punctuation change within a slightly larger context (\"from hers and\" \u2192 \"from hers, and\"). This preserves the essential intended correction (comma insertion after \"hers\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The predicted edit captures the same core punctuation change, merely including extra surrounding context (\"on hers matters\" \u2192 \"on hers, matters\"). The essential edit\u2014adding a comma after \"hers\"\u2014is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment with",
            "corrected_text": "for a moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"moment\" (\"moment with\" \u2192 \"moment, with\"). The predicted edit also inserts a comma after \"moment\" but includes extra surrounding context (\"for a moment with\" \u2192 \"for a moment, with\"). This captures the same core punctuation change, just with additional words included. Therefore the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"beautiful that\") and the same correction (\"beautiful, that\"), inserting a comma after \"beautiful\". The core intended change is captured identically."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "At this, he thought directly,",
            "corrected_text": "\n\nAt this, he thought directly,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:30.261372",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:31:55.242743",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"hers\" in the phrase \"hers matters\" to become \"hers, matters\". The original_text and corrected_text match the ground truth exactly. Therefore the predicted edit captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with,\" correctly inserting a comma after \"moment.\" The core intended correction is captured with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"beautiful that\" to \"beautiful, that,\" inserting a comma after \"beautiful.\" The core change is identical with no discrepancies."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "At this, he thought directly, \u201cThey are to be married.\u201d",
            "corrected_text": "At this, he thought directly, \u201cThey are to be married.\u201d",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:21.294607",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T12:15:28.618282",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:41.585122",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T13:21:11.074964",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change: inserting a comma after \"shore.\" Line numbers are to be ignored, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 30,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify replacing \"within doors\" with \"within-doors\", capturing the same core hyphenation change. No discrepancy in original or corrected text content. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 35,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same replacement of the word \"that\" with \"than\". Ignoring line numbers as instructed, the essential textual change is identical and fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\u201d",
            "corrected_text": "is now.\u201d \u201cThank you,\u201d",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:54.609256",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:58:41.970033",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"shore and\" to \"shore, and\" by inserting a comma after \"shore.\" The core punctuation change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". The core intended change is captured identically with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:33.895042",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T12:21:14.545416",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:59.784931",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T13:21:02.498909",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth changes \"city\" to \"City\" (capitalizing the first letter). The prediction makes the identical change from \"city\" to \"City\". The core intended correction is fully captured with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing \"of\" with \"to\". The prediction replaces \"return of\" with \"return to\", which includes extra surrounding context but still performs the same essential substitution (\"of\" \u2192 \"to\") in the intended phrase. Therefore, it captures the core change correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit adds a comma in the same location, shown with additional surrounding context (\"existence at\" \u2192 \"existence, at\"). This captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intention is to add a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core punctuation change within a slightly larger span of text (\"motionless when\" \u2192 \"motionless, when\"), which correctly captures inserting a comma immediately after \"motionless\". The added context (including \"when\") does not alter the essential edit.\n\nTherefore, the predicted edit correctly captures the ground truth edit's intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core punctuation change within a larger span of text (\"view by\" \u2192 \"view, by\"), which still correctly captures the essential edit: inserting a comma immediately after \"view.\" Additional surrounding context does not alter the intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence, is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:57:26.095236",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:33:19.000159",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both indicate the same core change: \"city\" is corrected to \"City\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth replaces \"of\" with \"to\". The predicted edit replaces \"return of\" with \"return to\", which includes additional surrounding context but performs the same core change (\"of\" \u2192 \"to\") in the intended phrase. Therefore it captures the essential correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change from \"them,\" to \"them;\" with identical original and corrected text. Therefore, the predicted edit fully captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still",
            "corrected_text": "still;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view, by",
            "corrected_text": "view; by",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:43.471123",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T12:16:46.019869",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:57:05.171320",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:59:24.702732",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 29,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"italicize,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both the ground truth and the prediction italicize the same token, \"him,\" with no change to the text content other than formatting. This captures the core intended edit.\n\nLine numbers are ignored as instructed, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 33,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both edits change \"now I\" to \"now, I,\" inserting a comma after \"now.\" This captures the same core punctuation correction as the ground truth. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 36,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both edits replace the same original text \"authorize\" with the same corrected text \"authorise\", capturing the core intended change (American to British spelling). Line numbers are to be ignored, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "though.",
            "corrected_text": "though,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "premature",
            "corrected_text": "too premature",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty,",
            "corrected_text": "twenty;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that",
            "corrected_text": "that same",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:57:00.730120",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:34:45.794972",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty, sticking",
            "corrected_text": "twenty; sticking",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him, than out of a ninepin.",
            "corrected_text": "benevolence bubbling out of him, than out of a ninepin.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "the",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:57:04.829722",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T15:01:33.508302",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so this criterion is satisfied.\n\n2) Text Content Accuracy: The ground truth changes \"For Mr. Pancks\" to \"For, Mr. Pancks\", i.e., it inserts a comma after \"For\" before \"Mr.\". The prediction changes \"For Mr.\" to \"For, Mr.\", which captures the same core punctuation change (adding a comma after \"For\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it still reflects the essential intended edit.\n\nTherefore, the predicted edit correctly captures the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"quickly\" by changing \"quickly that\" to \"quickly, that.\" There is no discrepancy in the original or corrected text, so the essential edit is captured correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:56:58.396033",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T13:20:51.502237",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"quickly that\" to \"quickly, that\" (inserting a comma after \"quickly\"). The core intended punctuation correction is captured identically.\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_kimi_k2_7_code",
        "date": "2026-07-23T15:57:12.596619",
        "annotator": "Kimi K2.7 Code",
        "annotation_date": "2026-07-23T14:34:38.879301",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core punctuation change, inserting a comma after \"quickly\" in the phrase \"quickly that\" to become \"quickly, that.\" The original and corrected texts are identical between ground truth and prediction, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed. For",
            "corrected_text": "bed, For",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me; not",
            "corrected_text": "making me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "For",
            "corrected_text": "for",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Moonshot",
    "release_date": "2026-06-12",
    "release_source": "https://openrouter.ai/moonshotai/kimi-k2.7-code",
    "release_notes": "Coding-focused Kimi variant; release date taken from the OpenRouter listing."
  },
  {
    "model_name": "Kimi K3",
    "model_id": "or_kimi_k3",
    "date": "2026-07-23T15:40:18.209934",
    "shots": 2,
    "config": {
      "model_id": "or_kimi_k3",
      "display_name": "Kimi K3",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Kimi K3",
    "annotation_date": "2026-07-23T11:35:09.331976",
    "file_results": [
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:37:53.751958",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:35:09.331976",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same correction (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"yonder to-day\" and the same corrected text \"yonder, to-day\", capturing the identical core change (inserting a comma after \"yonder\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The original and corrected text are identical between ground truth and prediction, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:37:52.639029",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:48:47.491552",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"howling over\" to \"howling, over\", inserting a comma after \"howling\". The core punctuation correction is captured identically. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder\". The original and corrected text strings are identical between ground truth and prediction, capturing the exact intended punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"pockets\" in the phrase \"pockets and\" to become \"pockets, and\". There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:04.455849",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:46:53.126794",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original segment (\"howling over\") and the same correction (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder.\" This captures the same core punctuation correction with identical original and corrected text.\n\nTherefore, the prediction correctly matches the ground truth edit in both type and content."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:02.425878",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:35:40.258757",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir\", inserting a comma after \"No\". This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase, changing \"why did he dine\" to \"Why did he dine\". The predicted edit changes \"why\" to \"Why\", which captures the core intended change (capitalizing the initial \"why\"). Although the prediction includes less surrounding context, it still represents the same essential correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes the terminal punctuation from an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction captures the same core change (\"!\" \u2192 \"?\") at the end of \"stones\" (\"stones!\" \u2192 \"stones?\"). Although it omits the preceding word \"cold,\" it still correctly represents the essential intended edit: replacing the exclamation point with a question mark after \"stones.\""
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:37:57.997600",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:49:50.268852",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The predicted edit captures the core intended change by capitalizing \"why\" \u2192 \"Why\". Although it includes less surrounding context, it still represents the same essential correction (capitalizing the first word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: replacing the exclamation mark with a question mark in \"cold stones!\" \u2192 \"cold stones?\". There is no discrepancy in original or corrected text content. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:00.818816",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:48:47.503601",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"why\" \u2192 \"Why\") within \"why did he dine\". The prediction captures that same core change, just with less surrounding context (only the word \"why\"). Since the essential correction\u2014capitalizing \"why\"\u2014is correctly represented, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes an exclamation mark to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction applies the same core change (\"!\" \u2192 \"?\") at the end of \"stones!\" \u2192 \"stones?\". Although it omits the preceding word \"cold,\" it still captures the essential intended correction: replacing the terminal exclamation point with a question mark on the same word/phrase ending. Therefore, the core edit is correctly represented."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:37:55.545480",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:35:10.293755",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he,\" i.e., capitalizes the initial word \"if\". The prediction changes \"if\" to \"If,\" capturing the same core capitalization change. Although it includes less surrounding context (omits \"he\"), the essential intended edit\u2014capitalizing \"if\"\u2014is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are of type \"replacement\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The core intended change in the ground truth is replacing the word \"said\" with \"asked\" (within the phrase \"said Clennam\" \u2192 \"asked Clennam\"). The prediction captures this essential substitution (\"said\" \u2192 \"asked\") even though it omits the surrounding context word \"Clennam\". Omitting extra context is acceptable as long as the central replacement is correct."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:37:54.308259",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:49:37.879956",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which matches the ground truth exactly.\n2) Text Content Accuracy: The ground truth capitalizes the word \"if\" in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same core change by converting \"if\" \u2192 \"If.\" Although it includes less surrounding context (omitting \"he\"), it correctly represents the essential capitalization correction intended in the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb in the phrase \"said Clennam\" to \"asked Clennam\". The prediction changes \"said\" to \"asked\" without including the following word \"Clennam\". This still captures the core intended change (said \u2192 asked), and omission of surrounding context is allowed as long as the essential substitution is correct.\n\nTherefore, the predicted edit matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:37:59.737881",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:48:42.439035",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"if he\" \u2192 \"If he\"). The prediction applies the same core change to the relevant word (\"if\" \u2192 \"If\"). Although the prediction includes less surrounding context (omitting \"he\"), it still captures the essential intended correction: capitalizing \"if\" at the start of the phrase/sentence."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said Clennam\" with \"asked Clennam\", whose core change is the word substitution \"said\" \u2192 \"asked\". The prediction captures this essential substitution by replacing \"said\" with \"asked\". Although it omits the trailing context \"Clennam\", the core intended correction is still accurately represented.\n\nTherefore, the predicted edit matches the ground truth intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:40.570058",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:35:25.823147",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core change: replacing \"high road\" with the hyphenated form \"high-road.\" The prediction\u2019s notes add contextual description of the handwritten insertion but do not alter the essential edit. Therefore, the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core punctuation insertion (adding a comma after \"materials\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tossed about and",
            "corrected_text": "tossed about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"about\" and \"and\" (\"about and\" \u2192 \"about, and\"). The predicted edit applies the same comma insertion within a slightly larger phrase (\"tossed about and\" \u2192 \"tossed about, and\"). This includes extra context but preserves the identical core correction, so it matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), inserting a comma after \"earnestly\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after \"said\" in the phrase \"said when\" \u2192 \"said, when\". The predicted edit applies the same core punctuation change (adding a comma after \"said\") but includes extra surrounding context (\"always\" before it): \"always said when\" \u2192 \"always said, when\". This captures the essential intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction applies the same core change\u2014adding a comma after \"said\"\u2014but includes the preceding word \"and\" as extra context (\"and said\" \u2192 \"and said,\"). This still captures the essential intended edit (comma insertion after \"said\")."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cried Clennam in",
            "corrected_text": "cried Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in\". The prediction applies the same core punctuation change within a longer span of text: \"cried Clennam in\" \u2192 \"cried Clennam, in\". Including extra surrounding context is acceptable, and the essential intended edit (adding the comma after \"Clennam\") is correctly captured."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did not",
            "corrected_text": "tion, did not",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:45.136094",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:48:08.503570",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"high road\" and the same correction to \"high-road,\" capturing the identical core change (inserting a hyphen between the words). No discrepancies in the essential edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same change, inserting a comma after \"materials\" in the phrase \"materials costing\" to become \"materials, costing.\" The core punctuation change is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"about and\") and the same correction (\"about, and\"), capturing the identical core change: insertion of a comma after \"about.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"said when\" to \"said, when\" by inserting a comma after \"said.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction adds a comma after \"said\" as well, but includes extra preceding context (\"and said\" \u2192 \"and said,\"). This still captures the same core intended punctuation change at the same target word. Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Clennam in\" to \"Clennam, in,\" correctly capturing the intended insertion of a comma after \"Clennam.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion did",
            "corrected_text": "tion, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:45.052341",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:47:48.926671",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"high road\" to \"high-road,\" capturing the same core hyphenation correction. The prediction\u2019s added notes do not alter the essential edit and are consistent with the intended change.\n\nTherefore, the prediction correctly matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"materials costing\" to \"materials, costing\" (inserting a comma after \"materials\"). The core correction is identical, so the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tossed about and",
            "corrected_text": "tossed about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"about\" in the phrase \"about and\" \u2192 \"about, and\". The predicted edit applies the same core punctuation change within a larger context string: \"tossed about and\" \u2192 \"tossed about, and\". This preserves the essential correction (adding the comma between \"about\" and \"and\"). Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change, inserting a comma after \"earnestly\" to transform \"earnestly telling\" into \"earnestly, telling\". The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "always said when",
            "corrected_text": "always said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"said\" and \"when\" (\"said when\" \u2192 \"said, when\"). The prediction applies the same core punctuation change within a slightly larger phrase (\"always said when\" \u2192 \"always said, when\"). The additional context word \"always\" does not alter the essential edit, and the intended comma insertion is correctly captured."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction adds a comma after \"said\" as well, but includes additional preceding context (\"and said\" \u2192 \"and said,\"). This preserves the same core punctuation change at the same target word. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cried Clennam in",
            "corrected_text": "cried Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in.\" The predicted edit does the same core change, adding a comma after \"Clennam\" in a longer context: \"cried Clennam in\" \u2192 \"cried Clennam, in.\" The extra surrounding word (\"cried\") does not alter the essential correction. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "associa-tion",
            "corrected_text": "association",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:26.253346",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:35:11.541772",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to change \"Sun and Shadow\" to \"Sun and Shadow.\" The prediction\u2019s note adds contextual commentary but does not alter the essential edit. Therefore, it correctly captures the ground truth intention."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:31.064751",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:47:52.714151",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow,",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:34.487668",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:46:12.127561",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow,",
            "corrected_text": "Shadow.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:43.452408",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:44:37.322926",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change\u2014adding a comma after \"dull\". Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"man slowly\" to \"man, slowly,\" inserting a comma after \"man.\" This captures the core intended punctuation correction exactly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Chalons was\" to \"Chalons, was\" by inserting a comma after \"Chalons\". The core punctuation change is identical, with matching original and corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:43.971766",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:50:10.359041",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"dull\" in the phrase \"dull autumn\", resulting in \"dull, autumn\". The original and corrected texts match the ground truth\u2019s intended core change exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"man slowly\" to \"man, slowly,\" inserting a comma after \"man.\" The core change is identical with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the core change of inserting a comma after \"Chalons.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:53.645508",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:49:29.306815",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same correction (\"dull, autumn\"), capturing the identical core change of inserting a comma after \"dull\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"man slowly\" to \"man, slowly,\" inserting a comma after \"man.\" The core change is identical with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"Chalons was\" to \"Chalons, was,\" i.e., inserting a comma after \"Chalons.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:38:59.936198",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:38:49.845893",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so\", correctly inserting a comma after \"heart\". The essential edit is identical in both."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(as she did",
            "corrected_text": "(as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"insertion,\" so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change is inserting the word \"indeed\" into the phrase, changing \"as she did\" to \"as indeed she did.\" The prediction performs the same insertion, merely including an additional preceding context character \"(\" in both original_text and corrected_text. Since this extra context does not alter the essential modification (inserting \"indeed\" in the correct place), the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The predicted edit does the same core punctuation insertion but includes additional surrounding context (\"at length said\" \u2192 \"at length, said\"). This preserves the essential intended change (adding the comma after \"length\"), so the content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous! Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I have very much",
            "corrected_text": "I have very much",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:12.664348",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:54:00.110786",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core correction\u2014adding a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The essential edit is identical, so the prediction matches the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"as she did\") and the same corrected text (\"as indeed she did\"), capturing the identical core change\u2014adding \"indeed\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction inserts the same comma in the same place, but includes additional surrounding context (\"at length said\" \u2192 \"at length, said\"). This extra context does not alter the core intended change, which is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the exact same original text (\"I hope so\") with the same corrected text (\"I hoped so\"). The core change\u2014shifting \"hope\" to past tense \"hoped\"\u2014is captured identically. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous! Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:07.317409",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:48:34.509156",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change, inserting a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The core correction is identical. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is inserting a comma after \"length\" in the phrase \"length said\" \u2192 \"length, said.\" The prediction applies the same comma insertion after \"length\" (\"at length said\" \u2192 \"at length, said\"), merely including extra surrounding context (the preceding word \"at\"). This still captures the essential punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit specify type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both indicate the same core change from \"I hope so\" to \"I hoped so\" (adding the past-tense \"d\"). The predicted notes add explanatory context but do not alter the essential correction. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heart (as",
            "corrected_text": "heart indeed (as",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "earnestness), she",
            "corrected_text": "earnestness) she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:16.910875",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:38:21.243665",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"hers and\" to \"hers, and\" (inserting a comma after \"hers\"). The prediction changes \"from hers and\" to \"from hers, and\", which includes additional surrounding context but performs the same core punctuation change: inserting a comma after \"hers\" before \"and\". This accurately captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma between \"hers\" and \"matters\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction makes the same core punctuation change in a slightly larger context (\"on hers matters\" \u2192 \"on hers, matters\"). Including the extra surrounding word \"on\" does not change the essential edit, and the comma is inserted in the correct location. Therefore, the prediction captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a moment with",
            "corrected_text": "a moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"moment\" in the phrase \"moment with\" \u2192 \"moment, with\". The prediction performs the same core change, inserting the comma after \"moment\" as well, but includes one additional preceding word (\"a\"): \"a moment with\" \u2192 \"a moment, with\". This added context does not alter the essential punctuation correction, so the intended edit is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so beautiful that",
            "corrected_text": "so beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"beautiful that\" to \"beautiful, that\" (inserting a comma after \"beautiful\"). The prediction changes \"so beautiful that\" to \"so beautiful, that\", which also inserts a comma after \"beautiful\" and simply includes additional surrounding context (\"so\"). This captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "papa",
            "corrected_text": "Papa",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:18.347578",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:49:56.625263",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and\". The predicted edit applies the same core punctuation change, but includes extra preceding context (\"from\"): \"from hers and\" \u2192 \"from hers, and\". This preserves the essential intended correction (adding a comma after \"hers\").\n\nTherefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction performs the same core change\u2014adding a comma after \"hers\"\u2014but includes extra surrounding context (\"on hers matters\" \u2192 \"on hers, matters\"). This additional context does not alter the essential edit, and the intended punctuation correction is captured correctly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment with",
            "corrected_text": "for a moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"moment\" (\"moment with\" \u2192 \"moment, with\"). The prediction performs the same core change, adding a comma after \"moment\" as well, but includes extra preceding context (\"for a moment with\" \u2192 \"for a moment, with\"). Including additional surrounding words is allowed as long as the essential punctuation change is the same. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so beautiful that",
            "corrected_text": "so beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that\". The prediction applies the same core change within a slightly longer span of text: \"so beautiful that\" \u2192 \"so beautiful, that\". This includes extra surrounding context (the word \"so\") but preserves the essential intended punctuation change at the same location.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type \"capitalization.\" Text Content Accuracy: Both ground truth and prediction specify the same core change: \"they\" is corrected to \"They.\" There is no discrepancy in the original or corrected text. Therefore, the prediction correctly captures the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:17.323784",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:48:00.975413",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same correction (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" This captures the same core punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: inserting a comma after \"moment\" in the phrase \"moment with\" \u2192 \"moment, with\". The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"beautiful that\" \u0019 \"beautiful, that\" (inserting a comma after \"beautiful\"). The core punctuation change is identical in the predicted edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"they\" to \"They\". There is no divergence in original or corrected text. Therefore, the prediction captures the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:14.415584",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:38:36.833416",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, replacing the exclamation point in \"Thank you!\" with a comma to produce \"Thank you,\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core change: inserting a comma after \"shore\". No discrepancy in the essential edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same substitution, replacing \"that\" with \"than\". The core intended change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:18.976105",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:54:29.874545",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change\u2014removing the comma in \"that, in\" to produce \"that in.\" The core punctuation correction is identical, with matching original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change\u2014removing the comma in \"fancy, whatever\" to produce \"fancy whatever.\" The original and corrected text are identical between ground truth and prediction, capturing the core intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change: replacing the exclamation mark in \"Thank you!\" with a comma to form \"Thank you,\". The original and corrected texts match the ground truth precisely. \u0644\u0630\u0644\u0643 the prediction captures the intended edit fully."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing the word \"that\" with \"than\". This captures the core intended change with no discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:36.375228",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:50:56.600668",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"that, in\") and the same corrected text (\"that in\"), capturing the intended removal of the comma. Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a punctuation edit, so the type matches exactly.\nText Content Accuracy: Both specify the same original text \"fancy, whatever\" and the same corrected text \"fancy whatever\", capturing the intended removal of the comma. The core change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core punctuation change, converting \"Thank you!\" to \"Thank you,\". There is no discrepancy in the original or corrected text, so the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the type as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both identify the same original segment (\"shore and\") and apply the same correction by inserting a comma (\"shore, and\"). The core change\u2014adding a comma after \"shore\"\u2014is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both indicate replacing the original text \"that\" with \"than\". The core change is identical with no discrepancy in the intended correction. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:59.180731",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:43:30.855715",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core change: converting \"city\" to \"City\". There is no difference in original or corrected text between the two edits, so the essential intended correction is captured precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth specifies a \"replacement\" edit, and the predicted edit is also labeled \"replacement\", so the edit type matches exactly. Text Content Accuracy: Both edits replace the original text \"of\" with the corrected text \"to\". This captures the core intended change with no discrepancy. Therefore, the prediction correctly reflects the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core punctuation change from \"them,\" to \"them;\" with identical original and corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change by turning \"existence at\" into \"existence, at\", which still places the comma immediately after \"existence\". The added context word \"at\" does not alter the essential punctuation correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth changes a comma after \"it\" to a semicolon (\"it,\" \u2192 \"it;\"). The predicted edit performs the same core punctuation change, just with extra surrounding context (\"it, to\" \u2192 \"it; to\"). This correctly captures the essential intended correction."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change, adding a comma after \"motionless\" within a slightly larger text span (\"motionless when\" \u2192 \"motionless, when\"). This includes additional context but preserves the essential intended punctuation insertion at the correct location.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still, to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction applies the same core change, simply including additional surrounding context (\"stand-still, to\" \u2192 \"stand-still; to\"). This preserves the essential intended edit (comma \u2192 semicolon at the same location)."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds the same comma after \"view\" but includes additional surrounding context (\"view by\" \u2192 \"view, by\"). This captures the core intended punctuation change correctly."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence, is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction applies the same core change, but includes extra surrounding context (\"existence, is\" \u2192 \"existence; is\"). This still captures the essential intended correction: replacing the comma after \"existence\" with a semicolon. Therefore, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:40:18.209934",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:50:05.888020",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the city",
            "corrected_text": "the City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is \"city\" \u2192 \"City\". The prediction expands the span to include surrounding context (\"the city\" \u2192 \"the City\"), but the core intended change\u2014capitalizing the word \"city\"\u2014is preserved exactly. Including the additional word \"the\" does not alter the essential edit.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth specifies changing \"of\" to \"to\". The prediction changes \"return of\" to \"return to\", which includes additional surrounding context but preserves the same core substitution (\"of\" \u2192 \"to\"). Therefore, it captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change within a longer span of surrounding text (\"busy existence at\" \u2192 \"busy existence, at\"), which correctly captures the intended punctuation insertion immediately after \"existence\". The added context does not alter the essential edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit adds the same comma after \"motionless\" while including extra surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This preserves the core intended punctuation change.\n\nBecause both the edit type and the essential text change match the ground truth intention, the predicted edit is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "our view by",
            "corrected_text": "our view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit inserts a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit also inserts a comma immediately after \"view\" within a longer span (\"our view by\" \u2192 \"our view, by\"). This captures the same core punctuation change, just with additional surrounding context. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter xxix.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them",
            "corrected_text": "with them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from it to",
            "corrected_text": "from it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "contracted existence is",
            "corrected_text": "contracted existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:40:13.162679",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:59:08.668869",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change from \"city\" to \"City\" with identical original and corrected text. Since both the edit type and essential text change match the ground truth intention, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with them,",
            "corrected_text": "with them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes a comma to a semicolon after the word \"them\" (\"them,\" \u2192 \"them;\"). The prediction performs the same core punctuation change, but includes additional surrounding context (\"with them,\" \u2192 \"with them;\"). Including extra words before the edited token is allowed as long as the essential change is the same. Here, the comma-to-semicolon change after \"them\" is correctly captured.\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, inserting a comma after \"existence\" within a slightly larger context (\"existence at\" \u2192 \"existence, at\"). This preserves the essential intended correction (comma after \"existence\")."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing the comma after \"it\" with a semicolon (\"it,\" \u2192 \"it;\"). The prediction applies the same core punctuation change in a slightly larger span (\"it, to\" \u2192 \"it; to\"), which preserves the essential intended correction while adding surrounding context. Therefore, the text content accurately captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change\u2014adding a comma immediately after \"motionless\"\u2014but includes additional surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth edit's intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still, to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation after \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction makes the same core change, simply including additional surrounding context (\"stand-still, to\" \u2192 \"stand-still; to\"). Since the essential punctuation substitution is identical, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds the comma in the same location within a larger context (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation insertion (a comma immediately after \"view\")."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence, is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation immediately following \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction makes the same core punctuation change, but includes additional surrounding context (\"existence, is\" \u2192 \"existence; is\"). This preserves the essential intended correction (comma to semicolon after \"existence\").\n\nBecause both the edit type and the core text change match the ground truth\u2019s intention, the predicted edit is correct."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "reluctant return",
            "corrected_text": "reluctant to return",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:40:06.964226",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:40:13.857942",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have",
            "corrected_text": "now, I have",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The prediction does the same insertion while including additional surrounding context (\"now I have\" \u2192 \"now, I have\"). The core intended change\u2014adding a comma after \"now\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both replace the same original text \"authorize\" with the same corrected text \"authorise\". The core change (American to British spelling) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the dryest snorts",
            "corrected_text": "the dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him than",
            "corrected_text": "him, than",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:59.538048",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:54:57.471047",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest snorts\" to \"driest of snorts\" (i.e., corrects the spelling dryest\u2192driest and inserts \"of\" before \"snorts\"). The predicted edit makes the same core change: \"dryest snorts\" \u2192 \"driest of snorts\". Although the ground truth includes additional surrounding context (\"of the\" and the final period) that the prediction omits, the essential intended correction is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"italicize\", so the type matches exactly. Text Content Accuracy: Both edits target the same text, \"him\", with the corrected text remaining \"him\" (indicating formatting-only change). The prediction captures the same core intention: italicizing the word \"him\". Therefore, the predicted edit matches the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have",
            "corrected_text": "now, I have",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The prediction applies the same core punctuation change with additional surrounding context (\"now I have\" \u2192 \"now, I have\"). The essential edit\u2014adding a comma after \"now\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\", capturing the same core change (American to British spelling). Therefore, the prediction correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:40:05.564816",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:50:27.316245",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The prediction captures the same core transformation: \"dryest snorts\" \u2192 \"driest of snorts\". Although it omits surrounding context (\"of the\" and the final period), the essential intended edit (spelling correction plus insertion of \"of\") is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation,\" and the predicted edit type is also \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The prediction likewise inserts a comma after \"now\" (\"now I have paid it\" \u2192 \"now, I have paid it\"). Although the predicted edit includes additional surrounding context words, it captures the same core punctuation change at the same location. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both indicate the same replacement of \"authorize\" with \"authorise\" (American to British spelling). The core change is identical, with no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "little",
            "corrected_text": "little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that boiling-over",
            "corrected_text": "that-boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:55.267594",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T11:39:20.231569",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it stops at \"Mr.\" instead of including \"Pancks\"), it captures the same core punctuation change in the correct location. Therefore, the predicted edit matches the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core punctuation correction is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:39:53.967491",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T12:54:27.846080",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr",
            "corrected_text": "For, Mr",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr\" \u2192 \"For, Mr\"). Although the prediction includes less surrounding context (it omits \". Pancks\"), it still captures the core intended punctuation change: adding a comma after \"For\" before \"Mr\". Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), inserting a comma after \"quickly\". This captures the identical core change with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_kimi_k3",
        "date": "2026-07-23T15:40:08.288282",
        "annotator": "Kimi K3",
        "annotation_date": "2026-07-23T13:50:30.792746",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The prediction likewise inserts a comma after \"For\" in the shorter span \"For Mr.\" \u2192 \"For, Mr.\". Although it omits the trailing \"Pancks\" context, it captures the core intended punctuation change (adding a comma after \"For\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"quickly that\" to \"quickly, that,\" inserting a comma after \"quickly.\" The core correction is identical, with no discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed-room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Moonshot",
    "release_date": "2026-07-16",
    "release_source": "https://platform.kimi.ai/docs/guide/kimi-k3-quickstart",
    "release_notes": "2.8T-parameter open-weight multimodal MoE with 1M-token context, released 2026-07-16."
  },
  {
    "model_name": "Llama 3.2 90B Vision Instruct",
    "model_id": "or_llama_3_2_90b_vision_instruct",
    "date": "2026-02-22T15:57:41.196210",
    "shots": 2,
    "config": {
      "model_id": "or_llama_3_2_90b_vision_instruct",
      "display_name": "Llama 3.2 90B Vision Instruct",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Llama 3.2 90B Vision Instruct",
    "annotation_date": "2025-04-07T21:22:58.479265",
    "file_results": [
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:13.451464",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T21:22:58.479265",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I have heard none",
            "corrected_text": "I have heard none.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Never happy other-wise.",
            "corrected_text": "Never happy otherwise.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "As to Marseilles, we know what Marseilles is",
            "corrected_text": "As to Marseilles, we know what Marseilles is.",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "It couldn't exist without allonging and marshonging to something or other\u2014victory or death, or blazes, or something",
            "corrected_text": "It couldn't exist without allonging and marshonging to something or other\u2014victory or death, or blazes, or something.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Allong and marshong indeed",
            "corrected_text": "Allong and marshong, indeed.",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "It would be more creditable to you, I think, to let other people allong and marshong about their lawful business, instead of shutting 'em up in quarantine",
            "corrected_text": "It would be more creditable to you, I think, to let other people allong and marshong about their lawful business, instead of shutting 'em up in quarantine!",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Tiresome enough",
            "corrected_text": "Tiresome enough,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said the other",
            "corrected_text": "said the other.",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "But we shall be out to-day",
            "corrected_text": "But we shall be out to-day.",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out to-day",
            "corrected_text": "Out to-day!",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "repeated the first",
            "corrected_text": "repeated the first.",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "It's almost an aggravation of the enormity, that we shall be out to-day",
            "corrected_text": "It's almost an aggravation of the enormity, that we shall be out to-day.",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out",
            "corrected_text": "Out!",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "What have we ever been in for",
            "corrected_text": "What have we ever been in for?",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:15.345595",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T23:28:11.605070",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:13.449231",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T12:20:11.254235",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I have heard none",
            "corrected_text": "I have heard none.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Never happy other-wise.",
            "corrected_text": "Never happy otherwise.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "As to Marseilles, we know what Marseilles is",
            "corrected_text": "As to Marseilles, we know what Marseilles is.",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "It couldn't exist without allonging and marshonging to something or other\u2014victory or death, or blazes, or something",
            "corrected_text": "It couldn't exist without allonging and marshonging to something or other\u2014victory or death, or blazes, or something.",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Allong and marshong indeed",
            "corrected_text": "Allong and marshong, indeed.",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "It would be more creditable to you, I think, to let other people allong and marshong about their lawful business, instead of shutting 'em up in quarantine",
            "corrected_text": "It would be more creditable to you, I think, to let other people allong and marshong about their lawful business, instead of shutting 'em up in quarantine!",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Tiresome enough",
            "corrected_text": "Tiresome enough,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "But we shall be out to-day",
            "corrected_text": "But we shall be out to-day.",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out to-day",
            "corrected_text": "Out to-day!",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "It's almost an aggravation of the enormity, that we shall be out to-day",
            "corrected_text": "It's almost an aggravation of the enormity, that we shall be out to-day.",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out",
            "corrected_text": "Out!",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "What have we ever been in for",
            "corrected_text": "What have we ever been in for?",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:17.944403",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T21:23:18.507153",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:23.721295",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T12:21:59.371051",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:28.461687",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T21:23:40.423549",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "cap",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "asked",
            "corrected_text": "asked",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:29.301058",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T23:41:10.094606",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "cap",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "asked",
            "corrected_text": "asked",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:29.799426",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T12:22:35.850166",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:29.802635",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T23:41:31.806810",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:29.799946",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T12:36:42.294904",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:43.233332",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T23:41:51.467469",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:44.936509",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T12:50:52.549802",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:45.233320",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T22:05:07.017122",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:45.234264",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T23:42:12.339266",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:59.783980",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T22:06:40.375772",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I could never have been afraid of trusting you",
            "corrected_text": "I could never have been afraid of trusting you",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "raising her eyes frankly to his face",
            "corrected_text": "raising her eyes frankly to his face",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I think I would have done so some time ago",
            "corrected_text": "I think I would have done so some time ago",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "if I had known how",
            "corrected_text": "if I had known how",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "But I scarcely know how, even now",
            "corrected_text": "But I scarcely know how, even now",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "has reason to be very happy",
            "corrected_text": "has reason to be very happy",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "God bless his wife and him",
            "corrected_text": "God bless his wife and him",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "She wept, as she tried to thank him",
            "corrected_text": "She wept, as she tried to thank him",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "He reassured her, took her hand as it lay with the trembling roses in it on his arm",
            "corrected_text": "He reassured her, took her hand as it lay with the trembling roses in it on his arm",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "took the remaining roses from it, and put it to his lips",
            "corrected_text": "took the remaining roses from it, and put it to his lips",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "and from that time he became in his own eyes, as to any similar hope or prospect, a very much older man who had done with that part of life",
            "corrected_text": "and from that time he became in his own eyes, as to any similar hope or prospect, a very much older man who had done with that part of life",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "He put the roses in his breast and they walked on for a little while, slowly and silently, under the umbrageous trees",
            "corrected_text": "He put the roses in his breast and they walked on for a little while, slowly and silently, under the umbrageous trees",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Then he asked her, in a voice of cheerful kindness, was there anything else that she would say to him as her friend and her father's friend, many years older than herself",
            "corrected_text": "Then he asked her, in a voice of cheerful kindness, was there anything else that she would say to him as her friend and her father's friend, many years older than herself",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "was there any trust she would repose in him, any service she would ask of him, any little aid to her happiness that she could give him the lasting gratification of believing it was in his power to render",
            "corrected_text": "was there any trust she would repose in him, any service she would ask of him, any little aid to her happiness that she could give him the lasting gratification of believing it was in his power to render",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "She was going to answer, when she was so touched by some little hidden sorrow or sympathy",
            "corrected_text": "She was going to answer, when she was so touched by some little hidden sorrow or sympathy",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "what could it have been",
            "corrected_text": "what could it have been",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that she said, bursting into tears again",
            "corrected_text": "that she said, bursting into tears again",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "O Mr. Clennam",
            "corrected_text": "O Mr. Clennam",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Good, generous Mr. Clennam, pray tell me you do not blame me",
            "corrected_text": "Good, generous Mr. Clennam, pray tell me you do not blame me",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I blame you",
            "corrected_text": "I blame you",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "said Clennam",
            "corrected_text": "said Clennam",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "My dearest girl",
            "corrected_text": "My dearest girl",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I blame you",
            "corrected_text": "I blame you",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "No",
            "corrected_text": "No",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "After clasping both her hands upon his arm, and looking confidentially up into his face, with some hurried words to the effect that she thanked him from her heart",
            "corrected_text": "After clasping both her hands upon his arm, and looking confidentially up into his face, with some hurried words to the effect that she thanked him from her heart",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "she gradually composed herself, with now and then a word of encouragement from him, as they walked on slowly and almost silently under the darkening trees",
            "corrected_text": "she gradually composed herself, with now and then a word of encouragement from him, as they walked on slowly and almost silently under the darkening trees",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "And, now, Minnie Gowan",
            "corrected_text": "And, now, Minnie Gowan",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "will you ask me nothing",
            "corrected_text": "will you ask me nothing",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Oh",
            "corrected_text": "Oh",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I have very much to ask of you",
            "corrected_text": "I have very much to ask of you",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "That's well",
            "corrected_text": "That's well",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I am not disappointed",
            "corrected_text": "I am not disappointed",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "You know how I am loved at home, and how I love home",
            "corrected_text": "You know how I am loved at home, and how I love home",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "You can hardly think it perhaps, dear Mr. Clennam",
            "corrected_text": "You can hardly think it perhaps, dear Mr. Clennam",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "she spoke with great agitation",
            "corrected_text": "she spoke with great agitation",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "seeing me going from it of my own free will and choice, but I do so dearly love it",
            "corrected_text": "seeing me going from it of my own free will and choice, but I do so dearly love it",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I am sure of that",
            "corrected_text": "I am sure of that",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "said Clennam",
            "corrected_text": "said Clennam",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Can you suppose I doubt it",
            "corrected_text": "Can you suppose I doubt it",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "At that time, it seemed to him, he first finally resigned the dying hope that had flickered in nobody's heart so much to its pain and trouble",
            "corrected_text": "At that time, it seemed to him, he first finally resigned the dying hope that had flickered in nobody's heart so much to its pain and trouble",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "as she did, if it be the source of earnestness",
            "corrected_text": "as she did, if it be the source of earnestness",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "at length said Clennam, smiling",
            "corrected_text": "at length said Clennam, smiling",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I hope so",
            "corrected_text": "I hope so",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:53.149432",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T23:50:17.816923",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I could never have been afraid of trusting you",
            "corrected_text": "I could never have been afraid of trusting you,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "raising her eyes frankly to his face",
            "corrected_text": "raising her eyes frankly to his face. ",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I think I would have done so some time ago, if I had known how. But I scarcely know how, even now",
            "corrected_text": "I think I would have done so some time ago, if I had known how. But I scarcely know how, even now.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "God bless his wife and him",
            "corrected_text": "God bless his wife and him!",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "She wept, as she tried to thank him. He reassured her, took her hand as it lay with the trembling roses in it on his arm, took the remaining roses from it, and put it to his lips. At that time, it seemed to him, he first finally resigned the dying hope that had flickered in nobody's heart so much to its pain and trouble; and from that time he became in his own eyes, as to any similar hope or prospect, a very much older man who had done with that part of life",
            "corrected_text": "She wept, as she tried to thank him. He reassured her, took her hand as it lay with the trembling roses in it on his arm, took the remaining roses from it, and put it to his lips. At that time, it seemed to him, he first finally resigned the dying hope that had flickered in nobody's heart so much to its pain and trouble; and from that time he became in his own eyes, as to any similar hope or prospect, a very much older man who had done with that part of life.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "He put the roses in his breast and they walked on for a little while, slowly and silently, under the umbrageous trees. Then he asked her, in a voice of cheerful kindness, was there anything else that she would say to him as her friend and her father's friend, many years older than herself; was there any trust she would repose in him, any service she would ask of him, any little aid to her happiness that she could give him the lasting gratification of believing it was in his power to render",
            "corrected_text": "He put the roses in his breast and they walked on for a little while, slowly and silently, under the umbrageous trees. Then he asked her, in a voice of cheerful kindness, was there anything else that she would say to him as her friend and her father's friend, many years older than herself; was there any trust she would repose in him, any service she would ask of him, any little aid to her happiness that she could give him the lasting gratification of believing it was in his power to render?",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "She was going to answer, when she was so touched by some little hidden sorrow or sympathy \u2014 what could it have been? \u2014 that she said, bursting into tears again: \u201cO Mr. Clennam",
            "corrected_text": "She was going to answer, when she was so touched by some little hidden sorrow or sympathy \u2014 what could it have been? \u2014 that she said, bursting into tears again: \u201cO Mr. Clennam!",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Good, generous Mr. Clennam, pray tell me you do not blame me",
            "corrected_text": "Good, generous Mr. Clennam, pray tell me you do not blame me.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cI blame you?\u201d said Clennam. \u201cMy dearest girl",
            "corrected_text": "\u201cI blame you?\u201d said Clennam. \u201cMy dearest girl!",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I blame you? No",
            "corrected_text": "I blame you? No!",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "After clasping both her hands upon his arm, and looking confidentially up into his face, with some hurried words to the effect that she thanked him from her heart (as she did, if it be the source of earnestness), she gradually composed herself, with now and then a word of encouragement from him, as they walked on slowly and almost silently under the darkening trees",
            "corrected_text": "After clasping both her hands upon his arm, and looking confidentially up into his face, with some hurried words to the effect that she thanked him from her heart (as she did, if it be the source of earnestness), she gradually composed herself, with now and then a word of encouragement from him, as they walked on slowly and almost silently under the darkening trees.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cAnd, now, Minnie Gowan",
            "corrected_text": "\u201cAnd, now, Minnie Gowan,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said Clennam, smiling; \u201cwill you ask me nothing",
            "corrected_text": "at length said Clennam, smiling; \u201cwill you ask me nothing?",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cOh",
            "corrected_text": "\u201cOh!",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I have very much to ask of you",
            "corrected_text": "I have very much to ask of you.",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cThat\u2019s well",
            "corrected_text": "\u201cThat\u2019s well!",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I hope so; I am not disappointed",
            "corrected_text": "I hope so; I am not disappointed.",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cYou know how I am loved at home, and how I love home. You can hardly think it perhaps, dear Mr. Clennam",
            "corrected_text": "\u201cYou know how I am loved at home, and how I love home. You can hardly think it perhaps, dear Mr. Clennam,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "she spoke with great agitation, \u201cseeing me going from it of my own free will and choice, but I do so dearly love it",
            "corrected_text": "she spoke with great agitation, \u201cseeing me going from it of my own free will and choice, but I do so dearly love it!",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201cI am sure of that",
            "corrected_text": "\u201cI am sure of that,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam. \u201cCan you suppose I doubt it",
            "corrected_text": "said Clennam. \u201cCan you suppose I doubt it?",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:53.148747",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T13:08:21.549614",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:56:58.688832",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T22:07:00.025506",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "handwritten",
            "corrected_text": "handwritten",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "editorial",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "corrections",
            "corrected_text": "changes",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "text",
            "corrected_text": "text,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:02.989652",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T23:52:14.126845",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:03.006334",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T13:37:37.367197",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:09.289014",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T22:07:20.156877",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:10.056108",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T00:05:35.864153",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:09.289864",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T13:51:01.331092",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:12.772192",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T22:07:49.179670",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "handwritten",
            "corrected_text": "handwritten",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "corrections",
            "corrected_text": "corrections",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "editorial",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:19.290163",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T00:08:17.373727",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:28.431947",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T13:51:26.461987",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:22.947574",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-07T22:22:31.637709",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:19.287865",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T00:08:34.825617",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:28.928586",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T14:05:20.717778",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:28.931681",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T00:08:57.874857",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_llama_3_2_90b_vision_instruct",
        "date": "2026-02-22T15:57:41.196210",
        "annotator": "Llama 3.2 90B Vision Instruct",
        "annotation_date": "2025-04-08T14:05:44.924080",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "identify",
            "corrected_text": "identify",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "printed",
            "corrected_text": "digital",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "text",
            "corrected_text": "text,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "editorial",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Meta",
    "release_date": "2024-09-25",
    "release_source": "https://about.fb.com/news/2024/09/introducing-llama-3-2/"
  },
  {
    "model_name": "Llama 4 Maverick",
    "model_id": "or_llama_4_maverick",
    "date": "2026-02-22T15:59:40.011525",
    "shots": 2,
    "config": {
      "model_id": "or_llama_4_maverick",
      "display_name": "Llama 4 Maverick",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Llama 4 Maverick",
    "annotation_date": "2025-04-07T19:38:46.268032",
    "file_results": [
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:57:43.930695",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:38:46.268032",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allonging",
            "corrected_text": "alongling",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out to-day",
            "corrected_text": "Out to-day!",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:57:41.806553",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:31:42.014105",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allonging",
            "corrected_text": "alongling",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pocketsand",
            "corrected_text": "pockets and",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allong",
            "corrected_text": "along",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allong",
            "corrected_text": "along",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to day",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "out to-day",
            "corrected_text": "out to day",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "out to-day",
            "corrected_text": "out to day",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to day",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:57:41.412541",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:50:07.706399",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allonging",
            "corrected_text": "alongling",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allong",
            "corrected_text": "along",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allong",
            "corrected_text": "along",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to day",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to day",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to day",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to day,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:57:42.192295",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:39:08.116981",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that he might blame",
            "corrected_text": "that he might cap",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "emotion mask",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:57:57.419412",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:32:13.156767",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 26,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"capitalization\" and the predicted edit type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"why did he dine\" to \"Why did he dine\", which is specifically capitalizing the initial word \"why\" to \"Why\" while leaving the rest unchanged. The prediction captures this core change by editing \"why\" \u2192 \"Why\". Although it provides less surrounding context than the ground truth, it correctly reflects the essential intended correction (capitalizing the first word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dine to-day",
            "corrected_text": "dine today",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:57:48.700350",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:50:28.304354",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 26,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word \"why\" to \"Why\" in the phrase \"why did he dine\". The prediction captures the same core change (\"why\" \u2192 \"Why\"), just with less surrounding context. Since the essential correction is the capitalization of \"why\", the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "emotion mask",
            "corrected_text": "",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "cap",
            "corrected_text": "",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:57:42.636735",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:39:28.518382",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 53,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "cap",
            "observed_line_number": 49,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:57:58.319907",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:32:36.895386",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 53,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "the",
            "corrected_text": "The",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:57:58.317931",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:50:50.176623",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 53,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "If he",
            "observed_line_number": 51,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:07.236338",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:39:54.614212",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and came",
            "corrected_text": "about, and came",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"about\" in the phrase \"about and\" \u2192 \"about, and\". The prediction likewise inserts a comma after \"about\" in a longer span: \"about and came\" \u2192 \"about, and came\". This includes extra surrounding context but preserves the same core punctuation change at the correct location. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:08.507688",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:32:56.353020",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The predicted edit is \"said\" \u2192 \"said,\", which captures the same core change: adding a comma immediately after \"said.\" Although the prediction provides less surrounding context (it omits \"when\"), it still reflects the essential intended punctuation insertion at the correct location."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:14.333009",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:51:13.543007",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" (i.e., \"said when\" \u2192 \"said, when\"). The prediction captures the same core punctuation change by changing \"said\" \u2192 \"said,\". Although the prediction does not include the following word \"when\" in its original/corrected text span, it still accurately reflects the essential intended edit: adding a comma immediately after \"said\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and came",
            "corrected_text": "about, and came",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:08.977622",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:40:17.729053",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:16.291044",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:33:17.619129",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:16.971758",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:51:33.594723",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I,",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW,",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:27.501553",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:40:41.204314",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same core textual change: replacing \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). This captures the intended correction precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "^",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplartrees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddenwith",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:30.593819",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:33:40.837206",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "^",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplartrees",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:40.350606",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:51:56.337056",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "the river Saone",
            "corrected_text": "the river Saone,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:41.397190",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:41:00.451194",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "so",
            "corrected_text": "",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "indeed",
            "corrected_text": "",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped",
            "corrected_text": "I hope",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:49.288575",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:34:02.013570",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I blame you?",
            "corrected_text": "I blame you? No!",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "indeed",
            "corrected_text": "indeed",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hoped",
            "corrected_text": "I hoped so",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:37.795949",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:52:19.426988",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "indeed",
            "corrected_text": "indeed",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:41.601617",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:41:28.100026",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hers",
            "corrected_text": "her",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "peace",
            "corrected_text": "peace,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "At this, he thought directly,",
            "corrected_text": "At this he thought, directly,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hers",
            "corrected_text": "her",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:42.354939",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:34:22.961474",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hers",
            "corrected_text": "her",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hers",
            "corrected_text": "her",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "At this, he thought directly,",
            "corrected_text": "At this he thought, directly,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u2014that",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:58:54.891576",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:52:41.497746",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "on his movement or on hers",
            "corrected_text": "on his movement or on hers,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "At this, he thought directly",
            "corrected_text": "At this he thought, directly",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:05.166863",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:41:50.675897",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than.\" This captures the same core intended change with no discrepancy in the text transformation. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "in our fancy whatever",
            "corrected_text": "in our fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "thank you",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:23.692090",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:34:47.598465",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore",
            "corrected_text": "shore,",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth intends to insert a comma after the word \"shore\" in the phrase \"shore and\" (making it \"shore, and\"). The predicted edit changes \"shore\" to \"shore,\", which captures the same core punctuation change (adding a comma immediately after \"shore\"). The prediction includes less surrounding context, but it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "thank you",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "than",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:12.270544",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:53:05.234772",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "in our fancy whatever",
            "corrected_text": "in our fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Thank you",
            "corrected_text": "thank you",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "that",
            "corrected_text": "than that",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:19.024292",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:42:13.596799",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "reluctant",
            "corrected_text": "luctant",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "reviewed",
            "corrected_text": "reviewed,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege lord",
            "corrected_text": "liegeflord",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city (cof)",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": "",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": "",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:14.968578",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:35:09.128871",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "it;",
            "corrected_text": "it,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "stand-still;",
            "corrected_text": "stand-still,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence;",
            "corrected_text": "existence,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "reviewed,",
            "corrected_text": "reviewed",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "herself.",
            "corrected_text": "herself;",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence,",
            "corrected_text": "existence",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:23.733368",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:53:28.640290",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "reluctant",
            "corrected_text": "luctant",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "reviewed",
            "corrected_text": "reviewed,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege lord",
            "corrected_text": "liegeflord",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city (cof)",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": "",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": "",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ";",
            "corrected_text": "",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:27.540461",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:42:36.493650",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the predicted edit are labeled as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" so that \"dryest snorts\" becomes \"driest of snorts\" (within the larger phrase \"of the ... .\"). The predicted edit makes the same core change: \"dryest snorts\" \u2192 \"driest of snorts.\" Although the prediction omits surrounding context (\"of the\" and the final period), it correctly captures the essential intended correction (spelling change + insertion of \"of\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "_him_",
            "observed_line_number": 29,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"italicize,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth indicates that the word \"him\" should be italicized (same word before/after, formatting change only). The prediction also targets \"him\" and represents the italicization explicitly as \"_him_\". Although the ground truth\u2019s corrected_text field does not add markup, the core intended change\u2014italicizing \"him\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "boiling over",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise you",
            "corrected_text": "authorise you,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:31.123360",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:35:31.196537",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest snorts\" to \"driest of snorts\" (within the larger phrase \"of the \u2026 .\"). The prediction also changes \"dryest snorts\" to \"driest of snorts,\" capturing the same core corrections: spelling \"dryest\" \u2192 \"driest\" and insertion of \"of\" before \"snorts.\" Although the prediction omits surrounding context (\"of the\" and the trailing period), it does not alter the intended correction and includes the essential change.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "*him*",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I authorise you",
            "corrected_text": "I authorise you now",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:37.336857",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:53:52.540712",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 4,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts an additional \"of\" to make the phrase \"the driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit captures the same core transformation: \"dryest snorts\" \u2192 \"driest of snorts.\" Although the prediction omits surrounding context (\"of the\" and the final period), it correctly represents the essential textual change intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "*him*",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise you",
            "corrected_text": "authorise you now",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:39.380098",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T19:43:03.041090",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "details",
            "corrected_text": "details,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Rugg",
            "corrected_text": "Rugg'",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "back",
            "corrected_text": "back,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time",
            "corrected_text": "time,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him",
            "corrected_text": "him,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sight",
            "corrected_text": "sight,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "check",
            "corrected_text": "check,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "skirt",
            "corrected_text": "skirt,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "starched",
            "corrected_text": "starched,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "visit",
            "corrected_text": "visit,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Finching",
            "corrected_text": "Finching,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "head",
            "corrected_text": "head,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:40.011525",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-07T20:36:02.987800",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "details illustrated",
            "corrected_text": "details (illustrated",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "documents at the bedside",
            "corrected_text": "documents) at the bedside",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Rugg from",
            "corrected_text": "Rugg\", from",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "back and bundling",
            "corrected_text": "back; and bundling",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam he went",
            "corrected_text": "Clennam, he went",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Casby's He dressed",
            "corrected_text": "Casby's. He dressed",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time but it",
            "corrected_text": "time; but it",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "himself with a leisurely walk",
            "corrected_text": "himself with a leisurely walk,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur \u2014 Doyce",
            "corrected_text": "Arthur\u2014Doyce",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam! cried",
            "corrected_text": "Clennam!\" cried",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "this and pray",
            "corrected_text": "this; and pray",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mind mentioning it",
            "corrected_text": "mind mentioning it,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you for you",
            "corrected_text": "you, for you",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "skirt and having",
            "corrected_text": "skirt; and having",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "visit but you",
            "corrected_text": "visit; but you",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "correct and though",
            "corrected_text": "correct; and though",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view at least",
            "corrected_text": "view, at least",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "again and you",
            "corrected_text": "again; and you",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him tenderly and resumed",
            "corrected_text": "him tenderly; and resumed",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "different to make",
            "corrected_text": "different\u2014to make",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "recalled except",
            "corrected_text": "recalled; except",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cucumber and therefore",
            "corrected_text": "Cucumber; and therefore",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_llama_4_maverick",
        "date": "2026-02-22T15:59:40.010519",
        "annotator": "Llama 4 Maverick",
        "annotation_date": "2025-04-08T07:54:22.749885",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "details",
            "corrected_text": "details,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Rugg",
            "corrected_text": "Rugg'",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "back",
            "corrected_text": "back,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time",
            "corrected_text": "time,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him",
            "corrected_text": "him,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sight",
            "corrected_text": "sight,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "check",
            "corrected_text": "check,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "things",
            "corrected_text": "things,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "starch",
            "corrected_text": "starch,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "visit",
            "corrected_text": "visit,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Finching",
            "corrected_text": "Finching,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "head",
            "corrected_text": "head,",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 41,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "case",
            "corrected_text": "case,",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Meta",
    "release_date": "2025-04-05",
    "release_source": "https://about.fb.com/news/2025/04/introducing-llama-4/"
  },
  {
    "model_name": "Llama 4 Scout",
    "model_id": "or_llama_4_scout",
    "date": "2026-02-22T16:21:19.162289",
    "shots": 2,
    "config": {
      "model_id": "or_llama_4_scout",
      "display_name": "Llama 4 Scout",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-07",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Llama 4 Scout",
    "annotation_date": "2025-04-07T19:45:32.753968",
    "file_results": [
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T15:59:52.400064",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:45:32.753968",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allonging",
            "corrected_text": "allong and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allonging",
            "corrected_text": "allong and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day,",
            "corrected_text": "to-day",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T15:59:48.043732",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:02:44.135299",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Travellers",
            "corrected_text": "Travellers.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to add a period at the end of the phrase \"Fellow Travellers\" (i.e., after the word \"Travellers\"). The predicted edit adds a period to \"Travellers\" (\"Travellers\" \u2192 \"Travellers.\"). Although the prediction includes less surrounding context (it omits the preceding word \"Fellow\"), it still captures the core intended change: inserting a period immediately after \"Travellers\" at the end of the phrase. Therefore, the essential punctuation correction is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "N",
            "corrected_text": "",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allonging and",
            "corrected_text": "allonging and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets; and",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T15:59:59.377038",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:31:48.884835",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allonging",
            "corrected_text": "allong and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "allonging",
            "corrected_text": "allong and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pocketsand",
            "corrected_text": "pockets and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day,",
            "corrected_text": "to-day",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:21:06.953232",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:45:51.754376",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T15:59:56.052112",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:03:08.848486",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Little",
            "corrected_text": "little",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "evation mask",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:21:05.531745",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:32:19.756874",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:00:03.497458",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:46:12.956635",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cap",
            "corrected_text": "cap",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:00:06.240436",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:03:33.033678",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cap",
            "corrected_text": "cap",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:00:19.884480",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:32:42.164473",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cap",
            "corrected_text": "cap",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:00:31.274447",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:46:41.756794",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and",
            "corrected_text": "and,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him.",
            "corrected_text": "him.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tossed about,and",
            "corrected_text": "tossed about, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and",
            "corrected_text": "and,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "high-road",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "(comma)",
            "corrected_text": "",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:00:25.324958",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:04:01.518524",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and came to no haven",
            "corrected_text": "and came to no haven.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "told him not to be uneasy on her behalf for she was quite well",
            "corrected_text": "told him not to be uneasy on her behalf, for she was quite well",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "On his opening the door Mr. Meagles stopped, faced round, and said",
            "corrected_text": "On his opening the door, Mr. Meagles stopped, faced round, and said",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mr. Meagles in an excited state walking up and down his room",
            "corrected_text": "Mr. Meagles, in an excited state, walking up and down his room",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam!\u2014Tattycoram\u201d",
            "corrected_text": "Clennam! \u2014 Tattycoram\u201d",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high-road",
            "corrected_text": "high-road.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:00:27.314466",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:33:17.225756",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and came to no haven",
            "corrected_text": "and came to no haven.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "told him not to be uneasy on her behalf for she was quite well",
            "corrected_text": "told him not to be uneasy on her behalf, for she was quite well",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "saidj",
            "corrected_text": "said,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high-road",
            "corrected_text": "high-road.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:00:32.363426",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:47:03.012366",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I.",
            "corrected_text": "Chapter I.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "T",
            "corrected_text": "Thirty",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:00:35.821582",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:04:23.683908",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "thirty",
            "corrected_text": "Thirty",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Period",
            "corrected_text": "Period.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:00:50.082746",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:33:40.127869",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "thirty",
            "corrected_text": "Thirty",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marseilles",
            "corrected_text": "Marseilles,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "than",
            "corrected_text": "than,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "staring",
            "corrected_text": "staring,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:00:54.581054",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:47:23.592210",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sullenly, but",
            "corrected_text": "sullenly, but,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "he",
            "corrected_text": "he,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hyphen",
            "corrected_text": "hyphen",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "To the devil with this plain that has no end!",
            "corrected_text": "To the devil with this plain, that has no end!",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "To the devil with this dim",
            "corrected_text": "To the devil with this dismal",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:04.652869",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:04:46.286833",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "hyphen",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "sullenly",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:03.546358",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:34:08.848988",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "marseilles",
            "corrected_text": "Marseilles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "hyphen",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "sullenly",
            "corrected_text": "",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:06.471386",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:47:53.714574",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "I hoped",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped",
            "corrected_text": "indeed",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I hoped",
            "corrected_text": "I hoped.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:05.768537",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:05:12.646721",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "I hoped so",
            "corrected_text": "",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped",
            "corrected_text": "I hope",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:17.013867",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:34:34.915448",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "I hoped so",
            "corrected_text": "",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped",
            "corrected_text": "I hoped so",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:21.261097",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:48:15.099978",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "papa",
            "corrected_text": "Papa",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:26.293082",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:05:45.847380",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "papa",
            "corrected_text": "Papa",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:28.770254",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:34:56.174212",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "papa",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "momentary",
            "corrected_text": "momentary,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them as I came",
            "corrected_text": "them, as I came",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them for you",
            "corrected_text": "them, for you",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:37.718455",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:48:40.712885",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "within doors",
            "corrected_text": "indoors",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in our fancy",
            "corrected_text": "that in our fancy,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you!",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "indoors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:43.813633",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:06:12.246888",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "within doors",
            "corrected_text": "indoors",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in our fancy",
            "corrected_text": "that in our fancy,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you!",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "indoors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:40.506161",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:35:19.142169",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "within doors",
            "corrected_text": "indoors",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that in our fancy",
            "corrected_text": "that in our fancy,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you!",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "within doors",
            "corrected_text": "indoors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:43.781617",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:49:01.572255",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: Both the ground truth and the prediction change \"city\" to \"City,\" capturing the same core capitalization correction with identical original and corrected text.\n\nSince both the edit type and the essential text change match the ground truth intent, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege",
            "corrected_text": "liege",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "invalid",
            "corrected_text": "invalid.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "her",
            "corrected_text": "",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:54.078128",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:06:33.317987",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to make the punctuation after \u201cthem\u201d a semicolon (i.e., \u201cthem,\u201d \u2192 \u201cthem;\u201d). The prediction also results in \u201cthem;\u201d. Although the predicted original_text omits the comma (\"them\" instead of \"them,\"), it still captures the core intended correction: the punctuation following \u201cthem\u201d should be a semicolon. Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege",
            "corrected_text": "liege",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand still",
            "corrected_text": "stand-still",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:43.987489",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:35:42.762849",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and",
            "corrected_text": "and,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege",
            "corrected_text": "liege",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still",
            "corrected_text": "still;",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:52.927439",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:49:25.512858",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "him",
            "corrected_text": "him,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "that",
            "corrected_text": "That",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "",
            "corrected_text": "",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:56.783893",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:07:06.657576",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "him",
            "corrected_text": "him,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "",
            "corrected_text": "",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "that",
            "corrected_text": "That",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:21:19.162289",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:36:01.650024",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "driest",
            "corrected_text": "driest",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:58.094134",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T19:49:47.052047",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "morning and",
            "corrected_text": "morning; and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when he was in spirits Cucumber",
            "corrected_text": "said when he was in spirits Cucumber",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:02:03.059635",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T20:07:31.766801",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_llama_4_scout",
        "date": "2026-02-22T16:01:58.095369",
        "annotator": "Llama 4 Scout",
        "annotation_date": "2025-04-07T23:36:22.486078",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "morning, and",
            "corrected_text": "morning; and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when he was",
            "corrected_text": "said, when he was",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "spirits Cucumber",
            "corrected_text": "spirits, Cucumber",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Meta",
    "release_date": "2025-04-05",
    "release_source": "https://about.fb.com/news/2025/04/introducing-llama-4/"
  },
  {
    "model_name": "MiniMax M3",
    "model_id": "or_minimax_m3",
    "date": "2026-07-23T15:45:17.750808",
    "shots": 2,
    "config": {
      "model_id": "or_minimax_m3",
      "display_name": "MiniMax M3",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "MiniMax M3",
    "annotation_date": "2026-07-23T11:59:04.065926",
    "file_results": [
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:43:26.833877",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T11:59:04.065926",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers.",
            "corrected_text": "Fellow Travellers",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day Sir",
            "corrected_text": "yonder, to-day. Sir,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sir",
            "corrected_text": "Sir,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day\"",
            "corrected_text": "to-day.\"",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day.",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:43:33.789876",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:00:36.791606",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and.\" The original and corrected text strings match the ground truth\u2019s intended punctuation change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling over",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir is",
            "corrected_text": "sir, is",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "otherwise\"",
            "corrected_text": "otherwise.\"",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:43:34.161583",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:05:31.257338",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same core change\u2014adding a period to the end of \"Fellow Travellers\" to make it \"Fellow Travellers.\" The original and corrected texts match the ground truth intention precisely.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day sir",
            "corrected_text": "yonder to-day, sir,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:43:40.492202",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T12:01:39.095885",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "\"No, sir, I have got Maggy with me.\"",
            "corrected_text": "\"No, sir, I have got Maggy with me.\" (new paragraph)",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": null,
            "original_text": "cold stones!\" She",
            "corrected_text": "cold stones!\". She",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:43:29.712100",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:00:54.809354",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dine to-",
            "corrected_text": "dinner, if he",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:43:29.552784",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:54:23.149005",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:43:36.502140",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:54:44.804569",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 35,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same change from \"if he\" to \"If he,\" capturing the identical core capitalization correction. No discrepancy in the actual text change.\n\n(Line numbers are ignored as instructed.)"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "asked",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:43:31.276257",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:00:52.889225",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "said",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:43:38.973912",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:05:13.444950",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:06.328693",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T11:58:53.331711",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"high road\" is corrected to \"high-road\" by inserting a hyphen. The essential intended edit is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core punctuation change: inserting a comma after \"materials\" to change \"materials costing\" into \"materials, costing.\" The original and corrected text strings match the ground truth\u2019s intended edit. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"about\" in the phrase \"about and\", resulting in \"about, and\". The original_text and corrected_text match the ground truth\u2019s intended punctuation change.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". This captures the same core punctuation change with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"said\" in the phrase \"said when\" to become \"said, when\". Ignoring line numbers as instructed, the predicted edit captures the identical punctuation correction intended in the ground truth."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clenam in",
            "corrected_text": "Clenam, in",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,",
            "corrected_text": "said, (comma)",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:43:54.905416",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:00:37.146557",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road\" (inserting a hyphen). The core change is identical, with no discrepancies in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 26,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The prediction also inserts a comma after \"Clennam\" and simply includes extra surrounding context (\"Clennam in amazement\" \u2192 \"Clennam, in amazement\"). This captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam! \u2014 Tattycoram!",
            "corrected_text": "Clennam! \u2014 Tattycoram!",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:00.921430",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:05:39.034681",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\nText Content Accuracy: Both specify the same core change\u2014hyphenating \"high road\" to \"high-road\"\u2014with identical original and corrected text. The essential intended edit is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 26,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in\". The predicted edit likewise inserts a comma after \"Clennam\" in a longer span: \"Clennam in amazement\" \u2192 \"Clennam, in amazement\". This captures the same core punctuation correction (adding a comma after \"Clennam\" before \"in\"). Additional surrounding words are acceptable and do not change the essential edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Clennam!\u2014Tattycoram!",
            "corrected_text": "Clennam!\u2014Tattycoram!",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:02.087753",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T11:58:50.426921",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I ,",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "univer sal",
            "corrected_text": "universal",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow.",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:43:58.673921",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:00:56.576604",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW.",
            "corrected_text": "SUN AND SHADOW?",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:04.643855",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:05:28.723803",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Period here?",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:11.079545",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:54:34.045099",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplars then",
            "corrected_text": "poplars; then",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with",
            "corrected_text": "sodden, with",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:05.816061",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:00:52.514110",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with",
            "corrected_text": "sodden, with",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:15.343668",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:06:02.284800",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hyphen",
            "corrected_text": "broken",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone The",
            "corrected_text": "Sa\u00f4ne. The",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with",
            "corrected_text": "sodden, with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:24.351526",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T11:58:45.907949",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "happy",
            "corrected_text": "happy?",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "indeed",
            "corrected_text": "indeed",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:27.294619",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:01:16.927439",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "indeeds",
            "corrected_text": "indeed",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:41.313549",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:55:52.529752",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 9,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"heart so\") and the same corrected text (\"heart, so\"), correctly capturing the intended insertion of a comma after \"heart.\" Line number differences are to be ignored, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"length\" in the phrase \"length said\" \u2192 \"length, said\". The prediction performs the same essential punctuation change, inserting a comma after \"length\" in a slightly longer context: \"at length said\" \u2192 \"at length, said\". The additional word \"at\" is acceptable extra context and does not alter the core intended edit. Therefore, the prediction captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart (as",
            "corrected_text": "heart (as",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestness) she",
            "corrected_text": "earnestness, she",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "ask of you.\" \"That's well! I hope so; I am not disappointed.\"",
            "corrected_text": "ask of you.\" \"That's well! I hoped so; I am not disappointed.\"",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:30.755913",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T11:58:57.657792",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "movement or",
            "corrected_text": "movement, or",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "matters little",
            "corrected_text": "matters little",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes raised",
            "corrected_text": "eyes raised",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "peace\u2014or",
            "corrected_text": "peace\u2014or",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yet and",
            "corrected_text": "yet, and",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "(cap)",
            "corrected_text": "(cap)",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:35.617047",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:01:12.147275",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers",
            "corrected_text": "from hers,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers",
            "corrected_text": "on hers,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for a moment",
            "corrected_text": "for a moment,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so beautiful",
            "corrected_text": "so beautiful,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "thought directly,",
            "corrected_text": "thought Directly,",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "they are to be married.\"",
            "corrected_text": "\"they are to be married.\"",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:33.100715",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:05:44.285938",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "movement or",
            "corrected_text": "movement; or",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "matters little",
            "corrected_text": "matters little.",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "peace or",
            "corrected_text": "peace \u2014 or",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "(cap)",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:43.548190",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T11:59:18.460621",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Thank you",
            "corrected_text": "Thank you",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that once",
            "corrected_text": "that, once",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:52.746152",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:01:23.262113",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Thank you",
            "corrected_text": "Thank you",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that once",
            "corrected_text": "that, once",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:46.319921",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:06:03.974731",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "our fancy. Whatever",
            "corrected_text": "our fancy, whatever",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you.\"",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you!\"",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "things than once",
            "corrected_text": "things that once",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:56.543599",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T11:59:16.578910",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "copy",
            "corrected_text": "copy",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "fluctuant",
            "corrected_text": "fluctuant",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "lord",
            "corrected_text": "lord",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:55.125991",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:01:48.106193",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:44:58.836175",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:06:19.005371",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "copy",
            "corrected_text": "copy",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "fluctuant",
            "corrected_text": "fluctuant",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:45:00.930918",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T11:59:17.923837",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of smith",
            "corrected_text": "driest of south",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boiling-over",
            "corrected_text": "boiling over",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "habit of",
            "corrected_text": "habit, of",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise you",
            "corrected_text": "authorise",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:45:06.919162",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:02:00.393165",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "driest of snath.",
            "corrected_text": "driest of snath",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boiling over",
            "corrected_text": "boiling-over",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "italicize",
            "corrected_text": "italicize",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 44,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him,",
            "corrected_text": "him",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:45:12.209254",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:06:30.128146",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "driest of snath.",
            "corrected_text": "driest of snath",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boiling over",
            "corrected_text": "boiling-over",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "italicize",
            "corrected_text": "italicize",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him,",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:45:08.825144",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:55:11.969741",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me that",
            "corrected_text": "me, that",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "skirt and",
            "corrected_text": "skirt, and",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stair case",
            "corrected_text": "staircase",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "excuse me",
            "corrected_text": "excuse me",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I dont",
            "corrected_text": "I don't",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "head",
            "corrected_text": "head",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "different",
            "corrected_text": "different",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:45:10.940624",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T13:01:35.740202",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "would go",
            "corrected_text": "would \"go",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "method that I need mind",
            "corrected_text": "method that I need mind",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "staircase\"",
            "corrected_text": "staircase.\"",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I don't mean that and if I did I suppose it would depend considerably on the nature of the view, but I'm running on again and you put it all out of my head\"",
            "corrected_text": "I don't mean that and if I did I suppose it would depend considerably on the nature of the view, but I'm running on again and you put it all out of my head.\"",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_minimax_m3",
        "date": "2026-07-23T15:45:17.750808",
        "annotator": "MiniMax M3",
        "annotation_date": "2026-07-23T14:06:16.101178",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that,\" inserting a comma after \"quickly.\" This captures the core intended punctuation change with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room, while",
            "corrected_text": "bedroom, while",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "had knockeup",
            "corrected_text": "had knocked",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Pancks had",
            "corrected_text": "Pancks had",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "MiniMax",
    "release_date": "2026-05-28",
    "release_notes": "Announced 2026-05-28 as an open-weight natively multimodal model with 1M context; OpenRouter listing appeared 2026-05-31."
  },
  {
    "model_name": "Mistral Large 3 2512",
    "model_id": "or_mistral_large_3_2512",
    "date": "2026-02-22T14:01:37.258664",
    "shots": 2,
    "config": {
      "model_id": "or_mistral_large_3_2512",
      "display_name": "Mistral Large 3 2512",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-02-22",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Mistral Large 3 2512",
    "annotation_date": "2026-02-22T13:46:54.649845",
    "file_results": [
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:24.084366",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:46:54.649845",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "N",
            "corrected_text": "No",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heard none.",
            "corrected_text": "heard none.\u201d",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "otherwise.",
            "corrected_text": "otherwise.\u201d",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Marsailles people?",
            "corrected_text": "Marseilles people?\u201d",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "French people.",
            "corrected_text": "French people.\u201d",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "something.",
            "corrected_text": "something.\u201d",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "laugh.",
            "corrected_text": "laugh.",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "em",
            "corrected_text": "em",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quarantine!",
            "corrected_text": "quarantine!\u201d",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "other.",
            "corrected_text": "other.\u201d",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day.",
            "corrected_text": "to-day.\u201d",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "first.",
            "corrected_text": "first.\u201d",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "enormity, that",
            "corrected_text": "enormity, that",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out!",
            "corrected_text": "Out!",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for?",
            "corrected_text": "for?\u201d",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day, sir, is there?",
            "corrected_text": "to-day, sir, is there?\u201d",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T14:01:37.125805",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:46:41.670869",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I have heard none.",
            "corrected_text": "I have heard none.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do, I suppose.",
            "corrected_text": "do, I suppose.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Ah! but these people are always howling.",
            "corrected_text": "Ah! but these people are always howling.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Do you mean the Marseilles people?",
            "corrected_text": "Do you mean the Marseilles people?",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out to-day!",
            "corrected_text": "Out to-day!",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out! What have we ever been in for?",
            "corrected_text": "Out! What have we ever been in for?",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "N",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yesterday's howling over yonder to-day",
            "corrected_text": "yesterday's howling over yonder to-day,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir is there?",
            "corrected_text": "sir, is there?",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T14:01:37.258664",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:46:53.067031",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I have heard none.",
            "corrected_text": "I have heard none.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do, I suppose.",
            "corrected_text": "do, I suppose.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Ah! but these people are always howling.",
            "corrected_text": "Ah! but these people are always howling.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Do you mean the Marseilles people?",
            "corrected_text": "Do you mean the Marseilles people?",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out to-day!",
            "corrected_text": "Out to-day!",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out! What have we ever been in for?",
            "corrected_text": "Out! What have we ever been in for?",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "N",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yesterday's howling over yonder to-day",
            "corrected_text": "yesterday's howling over yonder to-day,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir is there?",
            "corrected_text": "sir, is there?",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:34.479690",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:46:41.188520",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201d",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201d",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me.\u201d",
            "corrected_text": "me.\u201d",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fire,\u201d",
            "corrected_text": "fire,\u201d",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "warmth.\u201d",
            "corrected_text": "warmth.\u201d",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "might think, Why did he dine to-day, and leave this little creature to the mercy of the cold stones!",
            "corrected_text": "might think, 'Why did he dine to-day, and leave this little creature to the mercy of the cold stones?'",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mystery far",
            "corrected_text": "mystery, far",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201d",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201d",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:36.591259",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:46:52.419834",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201d",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201d",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me.\u201d",
            "corrected_text": "me.\u201d",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold.\u201d",
            "corrected_text": "cold.\u201d",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day,",
            "corrected_text": "today,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "rushen",
            "corrected_text": "russion",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at.\u201d",
            "corrected_text": "at.\u201d",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "child.\u201d",
            "corrected_text": "child.\u201d",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:24.842338",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:46:39.616569",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201d",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201d",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day,",
            "corrected_text": "today,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "rushen",
            "corrected_text": "rushen",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "rushen",
            "corrected_text": "<i>rushen</i>",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201d",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:18.228880",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:46:43.120900",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Cap",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:19.192646",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:47:24.525389",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Cap",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:27.052209",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:46:43.812880",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Cap",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "asked",
            "corrected_text": "<i>asked</i>",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:46.577243",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:47:37.703200",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "clennam!",
            "corrected_text": "Clennam!",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Tattycoram",
            "corrected_text": "Tattycoram!",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Lost",
            "corrected_text": "\u201cLost\u201d",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "do you mean?",
            "corrected_text": "do you mean?\u201d",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "five-and-twenty",
            "corrected_text": "five-and-twenty, sir;",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "herself off",
            "corrected_text": "herself off.\u201d",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:49.262997",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:47:32.239367",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation', which matches exactly. Therefore, the prediction meets the edit type accuracy criterion.\n\n2. Text Content Accuracy: The core change identified in the ground truth is the addition of a comma after the word 'said'. The predicted edit captures this essential change by also adding a comma after 'said'. While the predicted edit does not include the entire text 'said when', it still incorporates the critical punctuation change ('said' -> 'said,') and aligns with the ground truth intention. Thus, the text content accuracy criterion is also met.\n\nOverall, since both criteria are satisfied, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "highroad",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Tattycoram",
            "corrected_text": "<i>Tattycoram</i>",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Lost",
            "corrected_text": "Lost!",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": ",",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:52.888009",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:47:30.611725",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Clennam!\u2014",
            "corrected_text": "Clennam!\u2014Tattycoram!",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "lost",
            "corrected_text": "Lost",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "What do you mean?",
            "corrected_text": "What do you mean?",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "five-and-twenty, sir; couldn't be got to do it;",
            "corrected_text": "five-and-twenty, sir; couldn't be got to do it;",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said (comma)",
            "corrected_text": "said,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:54.672275",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:47:28.235340",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "hirty",
            "corrected_text": "Thirty",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "THIRTY",
            "corrected_text": "Thirty",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Period here?",
            "corrected_text": ".",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:50:56.586265",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:47:28.310419",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "hirty",
            "corrected_text": "Thirty",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "?",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:00.631255",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:47:34.141165",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "THIRTY",
            "corrected_text": "Thirty",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Period here?",
            "corrected_text": ".",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:09.520338",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:47:41.947343",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "late",
            "corrected_text": "Late",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sullied",
            "corrected_text": "stilled",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hypen",
            "corrected_text": "hyphen",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wet, depressing, solitary; and",
            "corrected_text": "wet, depressing, solitary;\u2014and",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": ",",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u2014",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clothes he wore, sodden",
            "corrected_text": "clothes he wore sodden",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:13.736354",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:47:49.048751",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "late",
            "corrected_text": "Late",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "looking-glass",
            "corrected_text": "looking glass",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pictures in the water.",
            "corrected_text": "pictures in the water",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "heavy streak, occasionally made a little ragged by a row of poplar-trees",
            "corrected_text": "heavy streak, occasionally made a little ragged by a row of poplar trees,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wet; depressing, solitary; and the night deepened fast.",
            "corrected_text": "wet, depressing, solitary; and the night deepened fast.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons, was",
            "corrected_text": "Chalons was",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clothes he wore, sodden with wet;",
            "corrected_text": "clothes he wore sodden with wet;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him.",
            "corrected_text": "him!",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:18.600222",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:48:19.554681",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "late",
            "corrected_text": "Late",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "looking-glass",
            "corrected_text": "looking glass",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar trees",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wet, depressing, solitary;",
            "corrected_text": "wet, depressing, solitary:",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "clothes he wore, sodden",
            "corrected_text": "clothes he wore sodden",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him.",
            "corrected_text": "him!",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u2014",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:24.273877",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:48:18.131219",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trouble; and",
            "corrected_text": "trouble, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Good, generous",
            "corrected_text": "Good, generous",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped",
            "corrected_text": "hope",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "i",
            "corrected_text": "I",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:23.269502",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:48:29.545306",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trouble; and",
            "corrected_text": "trouble, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Good, generous",
            "corrected_text": "Good, generous",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "i hoped",
            "corrected_text": "I hoped",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hope so;",
            "corrected_text": "hope so!",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:22.817019",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:48:25.266857",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trouble; and",
            "corrected_text": "trouble, and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "indeed",
            "corrected_text": "in deed",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "i hoped",
            "corrected_text": "I hoped",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "so;",
            "corrected_text": "so!",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:28.620991",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:48:26.479700",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers, matters little",
            "corrected_text": "hers, matters little.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cop",
            "corrected_text": "Cop",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "they are to be married.",
            "corrected_text": "\u201cthey are to be married.\u201d",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ago, because\u2014I",
            "corrected_text": "ago, because\u2014I",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it at any time!",
            "corrected_text": "it at any time!",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:38.158079",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:48:25.842033",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "or two",
            "corrected_text": "or two\u2014",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "mattered little",
            "corrected_text": "matters little.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cop",
            "corrected_text": "Cop.",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Cop",
            "corrected_text": "Cop",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "\u201c",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:38.512585",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:48:28.165835",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "end, we",
            "corrected_text": "end; we",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him,",
            "corrected_text": "him",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Cop",
            "corrected_text": "Copy",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ago, because\u2014I",
            "corrected_text": "ago, because I",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "time! Pray",
            "corrected_text": "time. Pray",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:50.974312",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:48:31.479732",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thank you",
            "corrected_text": "thank you!",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them away",
            "corrected_text": "them away;",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "whatever",
            "corrected_text": "whatsoever",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "you,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:55.749880",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:48:33.897831",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 14,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The evaluation criteria focus on edit type accuracy and text content accuracy, disregarding line numbers. \n\n1. Edit Type Accuracy: Both the ground truth and predicted edit specify the edit type as 'punctuation'. Therefore, the edit type exactly matches, satisfying this criterion.\n\n2. Text Content Accuracy: The ground truth specifies a change from 'Thank you!' to 'Thank you,'. The predicted edit identifies a change from 'Thank you' to 'Thank you,'. Despite an initial variation in the original text marked ('Thank you!' vs. 'Thank you'), both edits focus on the core change of adding a comma after 'Thank you'. Therefore, the essential punctuation change is correctly captured in the predicted edit.\n\nThus, the prediction correctly matches the intention of the ground truth edit for both criteria."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them away.",
            "corrected_text": "them away;",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "you",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "whatever",
            "corrected_text": "whatsoever",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:51:53.066877",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:49:05.390368",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "thank you",
            "corrected_text": "thank you!",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them to",
            "corrected_text": "them, to",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "you",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "whatever",
            "corrected_text": "whatsoever",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:52:06.078143",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:50:02.575142",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them:",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "herself. Mr",
            "corrected_text": "herself, Mr.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "chapter xxix",
            "corrected_text": "Chapter XXIX",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "(cap)",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "round of life.",
            "corrected_text": "round of life,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "existence.",
            "corrected_text": "existence,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege lord,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:52:01.858375",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:49:15.489035",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "T",
            "corrected_text": "THE",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "cap",
            "corrected_text": "cap",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "fluctuant",
            "corrected_text": "reluctant",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "larger",
            "corrected_text": "larger ",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "liege lord",
            "corrected_text": "Liege Lord",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Chapter xxix.",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence.",
            "corrected_text": "existence,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:52:07.495081",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:49:17.426069",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "T",
            "corrected_text": "The",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "cap",
            "corrected_text": "cap",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "stop",
            "corrected_text": "stay",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "herself.",
            "corrected_text": "herself!",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mister",
            "corrected_text": "Mister",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "chapter xxix",
            "corrected_text": "Chapter XXIX",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "round of life.",
            "corrected_text": "round of life,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence.",
            "corrected_text": "existence,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:52:02.247377",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:49:15.416902",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 5,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit and the ground truth edit both have the same 'replacement' type, meeting the criterion for Edit Type Accuracy. For Text Content Accuracy, the essential change in the prediction is the correction of 'dryest' to 'driest', which is the core textual change identified in the ground truth. The prediction captures this change accurately. Although the ground truth specifies the surrounding context ('of the dryest snorts.' to 'of the driest of snorts.'), the prediction captures the fundamental correction needed ('dryest' to 'driest'). Therefore, despite the lack of full surrounding context in the prediction, the essential correction is captured, making the prediction correct per the evaluation criteria."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "of snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Christian",
            "corrected_text": "Christian\"",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hand; a",
            "corrected_text": "hand; a hopeful one;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "note. Which",
            "corrected_text": "note. Which",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:52:13.769277",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:49:14.968383",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over old Christian",
            "corrected_text": "boiling-over old Christian",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Your own recompense for all this, Mr. Pancks",
            "corrected_text": "Your own recompense for all this, Mr. Pancks",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:52:15.294079",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:49:16.619644",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over old Christian",
            "corrected_text": "boiling-over old Christian",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Your own recompense for all this, Mr. Pancks",
            "corrected_text": "Your own recompense for all this, Mr. Pancks",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "authorise",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "snorts",
            "corrected_text": "snorts,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:52:15.663297",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:49:26.034900",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "not",
            "corrected_text": "now",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "skirt and",
            "corrected_text": "skirt, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "apology for so early and abrupt",
            "corrected_text": "apology, for so early and abrupt",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur returned Mrs. Finching",
            "corrected_text": "Arthur, returned Mrs. Finching,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "indeed for Arthur Clennam",
            "corrected_text": "indeed, for Arthur Clennam",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "different to make apologies",
            "corrected_text": "different, to make apologies",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:52:22.339995",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:49:31.707635",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "not",
            "corrected_text": "now",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "skirt and",
            "corrected_text": "skirt, and",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "apology for so early and abrupt",
            "corrected_text": "apology, for so early and abrupt",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur returned Mrs. Finching,",
            "corrected_text": "Arthur,\u201d returned Mrs. Finching,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view but",
            "corrected_text": "view; but",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "again and you",
            "corrected_text": "again, and you",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him tenderly and resumed:",
            "corrected_text": "him tenderly, and resumed:",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fled was going",
            "corrected_text": "fled, was going",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam\u2014",
            "corrected_text": "Clennam \u2014",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "here at any time but",
            "corrected_text": "here at any time, but",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_mistral_large_3_2512",
        "date": "2026-02-22T13:52:22.572925",
        "annotator": "Mistral Large 3 2512",
        "annotation_date": "2026-02-22T13:49:51.330712",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "not",
            "corrected_text": "now",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "skirt and",
            "corrected_text": "skirt, and",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "apology for so early and abrupt",
            "corrected_text": "apology, for so early and abrupt",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Arthur returned Mrs. Finching,",
            "corrected_text": "Arthur,\u201d returned Mrs. Finching,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view but",
            "corrected_text": "view; but",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "again and you",
            "corrected_text": "again, and you",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him tenderly and resumed:",
            "corrected_text": "him tenderly, and resumed:",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam\u2014",
            "corrected_text": "Clennam\u2014",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "here at any time but",
            "corrected_text": "here at any time, but",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Mistral",
    "release_date": "2025-12-02",
    "release_notes": "Release date taken from Mistral's official Large 3 launch announcement."
  },
  {
    "model_name": "Mistral Medium 3.5",
    "model_id": "or_mistral_medium_3_5",
    "date": "2026-07-23T15:50:16.328127",
    "shots": 2,
    "config": {
      "model_id": "or_mistral_medium_3_5",
      "display_name": "Mistral Medium 3.5",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Mistral Medium 3.5",
    "annotation_date": "2026-07-23T12:03:47.374577",
    "file_results": [
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:10.678967",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:03:47.374577",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and.\" The prediction captures the same core change by editing \"pockets\" \u2192 \"pockets,.\" Although it omits the following word \"and\" from the span, it still correctly represents the essential intended correction: adding a comma after \"pockets\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "creditable",
            "corrected_text": "creditable",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "n",
            "corrected_text": "N",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:09.226913",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:04:45.006218",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"pockets and\" to \"pockets, and\", inserting a comma after \"pockets\". This captures the same core correction with identical original and corrected text. Line number differences are ignored per instructions."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "creditable to you",
            "corrected_text": "creditable to you,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "n",
            "corrected_text": "N",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:14.113495",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:21:43.427715",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction change \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets.\" This captures the core intended punctuation correction with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "creditable to you",
            "corrected_text": "creditable to you,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "n",
            "corrected_text": "N",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:16.147919",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:03:43.799076",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Why did he dine today",
            "corrected_text": "Why did he dine today?",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "question mark",
            "corrected_text": "?",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "CAP",
            "corrected_text": "?",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "\"No, sir",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:11.295632",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:04:44.978034",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Why did he dine to",
            "corrected_text": "Why did he dine today",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "to the mercy of the cold stones",
            "corrected_text": "to the mercy of the cold stones?",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "CAP",
            "corrected_text": "",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "\"No, sir",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "question mark",
            "corrected_text": "",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:06.621257",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:21:41.245858",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Why did he dine today",
            "corrected_text": "\"Why did he dine today?",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "CAP",
            "corrected_text": "",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "question mark",
            "corrected_text": "",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "\"No, sir",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:00.731914",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:03:44.100298",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "If he",
            "corrected_text": "If he",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "asked",
            "corrected_text": "Asked",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:03.281810",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:04:51.205195",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\", and the predicted edit type is also \"replacement\", so the types match exactly.\n\nText Content Accuracy: Both edits replace the same original phrase \"said Clennam\" with the same corrected phrase \"asked Clennam\". This captures the core intended change precisely with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Cap",
            "corrected_text": "cap",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "If he",
            "corrected_text": "if he",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "asked",
            "corrected_text": "Asked",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:06.686426",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:21:37.886868",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "If he",
            "corrected_text": "If he has",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "asked",
            "corrected_text": "Asked",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:30.176067",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:03:44.887025",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change from \"high road\" to \"high-road\" (adding a hyphen). There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 26,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"Clennam\" (turning \"Clennam in\" into \"Clennam, in\"). The predicted edit also inserts a comma immediately after \"Clennam\" (\"Clennam\" \u2192 \"Clennam,\"). Although the prediction omits the following word \"in,\" it captures the core intended punctuation change at the correct location (after \"Clennam\"). Therefore, the essential edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "customary association",
            "corrected_text": "customary association,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "cumma",
            "corrected_text": "comma",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:29.181448",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:04:53.223441",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The essential correction is identical.\nLine numbers are ignored as instructed, so the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high-road",
            "corrected_text": "high road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did not",
            "corrected_text": "association, did not",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "cumma",
            "corrected_text": "comma",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:39.659545",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:21:39.638035",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road\", capturing the identical core change (inserting a hyphen). Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 28,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in.\" The prediction captures the same core punctuation change by converting \"Clennam\" \u2192 \"Clennam,\". Although it omits the following word \"in\" from the span, it still reflects the essential intended edit (adding a comma after \"Clennam\")."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "did not",
            "corrected_text": "did",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "cumma",
            "corrected_text": "comma",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:25.661215",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:03:42.015696",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to make \"Sun and Shadow\" \u2192 \"Sun and Shadow.\". The original and corrected texts match the ground truth\u2019s intention. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:41.058380",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:04:49.006474",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core punctuation change is identical, with matching original and corrected text. Therefore the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:38.601183",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:21:41.790414",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core change is identical, with no discrepancies in the original or corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:52.840358",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:03:53.388814",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "saone",
            "corrected_text": "Saone",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "saone",
            "corrected_text": "Saone",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hyphen",
            "corrected_text": "hyphen",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "a",
            "corrected_text": "A",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly moving on towards Chalons",
            "corrected_text": "One man, slowly moving on towards Chalons,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "ed",
            "corrected_text": "ed",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:56.960880",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:04:51.845380",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "saone",
            "corrected_text": "Saone",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "saone",
            "corrected_text": "Saone",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hyphen",
            "corrected_text": "hyphen",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "a",
            "corrected_text": "A",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly moving on towards Chalons",
            "corrected_text": "One man, slowly moving on towards Chalons,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "ed",
            "corrected_text": "ed",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:48:53.672265",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:21:39.496892",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 7,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The prediction also captures this same core change by converting \"Chalons\" \u2192 \"Chalons,\". Although the prediction includes less surrounding context (it omits \"was\"), it correctly represents the essential punctuation insertion intended in the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "saone",
            "corrected_text": "Saone",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "saone",
            "corrected_text": "Saone",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hyphen",
            "corrected_text": "hyphens",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "ed",
            "corrected_text": "ed,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "a",
            "corrected_text": "A",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:07.022459",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:03:48.767955",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she",
            "corrected_text": "indeed she",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting the word \"indeed\" into the phrase \"as she did,\" yielding \"as indeed she did\" (i.e., adding \"indeed\" before \"she\"). The prediction represents the same core change by transforming \"she\" into \"indeed she,\" which equivalently inserts \"indeed\" immediately before \"she.\" Although the prediction includes less surrounding context than the ground truth, it captures the essential intended insertion."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Minnie Gowan",
            "corrected_text": "Minnie Gowan,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart; so",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hoped so",
            "corrected_text": "I hoped so,",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:06.506824",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:04:50.956716",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "heart so much to its pain and trouble",
            "corrected_text": "heart, so much to its pain and trouble",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"heart\" in the phrase \"heart so\" \u2192 \"heart, so.\" The predicted edit applies the same core change within a longer span of text: \"heart so much...\" \u2192 \"heart, so much...\". This preserves the essential punctuation correction (comma after \"heart\") while including additional surrounding context, which is allowed.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "And, now, Minnie Gowan",
            "corrected_text": "And now, Minnie Gowan",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "generous",
            "corrected_text": "",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she",
            "corrected_text": "she indeed",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:00.877971",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:21:44.134768",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "heart so much to its pain and trouble",
            "corrected_text": "heart, so much to its pain and trouble",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth correction inserts a comma after the word \"heart\" in the phrase \"heart so\" \u2192 \"heart, so.\" The predicted edit also inserts a comma after \"heart\" (\"heart so much to its pain and trouble\" \u2192 \"heart, so much to its pain and trouble\"). Although the prediction includes additional surrounding context, it captures the same essential punctuation change (adding a comma after \"heart\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Good, generous",
            "corrected_text": "Good generous",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked him from her heart",
            "corrected_text": "she indeed thanked him from her heart",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped so",
            "corrected_text": "I hope so",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "That's well! I hoped so",
            "corrected_text": "That's well! I hope so",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:11.284315",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:04:38.755040",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that.\" The predicted edit \"beautiful\" \u2192 \"beautiful,\" captures the same essential punctuation change (adding a comma immediately after \"beautiful\"). Although it omits the following word \"that,\" it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on his movement or on hers",
            "corrected_text": "on his movement or on hers,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "raised to his for a moment",
            "corrected_text": "raised to his for a moment,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cop",
            "corrected_text": "Cop",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "At this, he thought directly,",
            "corrected_text": "",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:09.822214",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:05:26.496840",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after the word \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that.\" The prediction captures the same core change by converting \"beautiful\" \u2192 \"beautiful,\". Although it provides less surrounding context (it omits \"that\"), it still implements the essential punctuation insertion at the correct location (after \"beautiful\"), which matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on his movement or on hers",
            "corrected_text": "on his movement, or on hers",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "raised to his for a moment",
            "corrected_text": "raised to his, for a moment",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Cop",
            "corrected_text": "",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "At this, he thought directly,",
            "corrected_text": "",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:12.349020",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:22:21.573548",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma immediately after the word \"beautiful\" (\"beautiful that\" \u2192 \"beautiful, that\"). The prediction similarly inserts a comma after \"beautiful\" (\"beautiful\" \u2192 \"beautiful,\"). Although the prediction omits the following word \"that\" and provides less surrounding context, it captures the core intended punctuation change\u2014adding a comma after \"beautiful\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on his movement or on hers",
            "corrected_text": "on his movement or on hers,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "raised to his for a moment",
            "corrected_text": "raised to his for a moment,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "At this",
            "corrected_text": "at this",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hesitation",
            "corrected_text": "hesitating",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Cop",
            "corrected_text": "",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:28.852137",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:04:35.960837",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within-doors",
            "corrected_text": "within doors",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "in the moonlight",
            "corrected_text": "in moonlight",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever Pet was,",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "that were once",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:34.051218",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:05:32.908715",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "than",
            "corrected_text": "that",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever Pet was,",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within-doors",
            "corrected_text": "within-doors,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "that",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:41.042275",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:22:17.497475",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "in the moonlight",
            "corrected_text": "in moonlight",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever Pet was,",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within-doors",
            "corrected_text": "within-doors,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "which once were",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:59.992061",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:04:43.721687",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at the hour",
            "corrected_text": "existence, at the hour",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit adds the same comma after \"existence\" within a longer phrase (\"existence at the hour\" \u2192 \"existence, at the hour\"). This includes additional context but captures the same core punctuation change intended by the ground truth.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "mankind stricken motionless when we were brought to",
            "corrected_text": "mankind stricken motionless, when we were brought to",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit applies the same core change within a longer span of text (\"... motionless when ...\" \u2192 \"... motionless, when ...\"). Although the prediction includes additional surrounding context, it correctly captures the essential punctuation insertion intended by the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "her liege lord",
            "corrected_text": "her liege-lord",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter XXIX",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "DREAMING",
            "corrected_text": "Dreaming",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "The house in the",
            "corrected_text": "The house in the City",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "to",
            "corrected_text": "too",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a stand-still to be unable to measure the changes beyond our view by",
            "corrected_text": "a stand-still; to be unable to measure the changes beyond our view, by",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is the infirmity of many invalids and the mental",
            "corrected_text": "existence; is the infirmity of many invalids, and the mental",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:50:16.328127",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:05:41.550425",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same essential change, adding a comma immediately after \"existence\" within a slightly longer context (\"existence at\" \u2192 \"existence, at\"). This captures the core intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core punctuation change by inserting a comma immediately after \"motionless\" within a larger context (\"motionless when\" \u2192 \"motionless, when\"). The essential intended change\u2014adding a comma after \"motionless\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction shows a larger context span (\"view by\" \u2192 \"view, by\"), but the essential correction\u2014adding a comma after \"view\"\u2014is the same. The extra surrounding word \"by\" does not alter the core intended edit.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch Goes on Dreaming",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter XXIX",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "to",
            "corrected_text": "to,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:59.721699",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:22:25.977066",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence at the hour",
            "corrected_text": "existence, at the hour",
            "observed_line_number": 13,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit inserts a comma in the same position, showing a wider span of surrounding text (\"existence at the hour\" \u2192 \"existence, at the hour\"). This captures the same core punctuation change, just with additional context.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "mankind stricken motionless when we were brought to",
            "corrected_text": "mankind stricken motionless, when we were brought to",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit applies the same core punctuation change within a larger span of text (\"... motionless when ...\" \u2192 \"... motionless, when ...\"). Although it includes additional surrounding words, it correctly captures the essential intended correction: inserting a comma immediately after \"motionless\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch Goes on Dreaming",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Chapter xxix",
            "corrected_text": "Chapter XXIX",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "THE house in the city",
            "corrected_text": "The house in the City",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a stand-still to be unable to measure the changes beyond our view",
            "corrected_text": "a stand-still; to be unable to measure the changes beyond our view",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is the infirmity of many invalids",
            "corrected_text": "existence; is the infirmity of many invalids",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:37.096959",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:04:41.813572",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:37.459898",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:05:39.822809",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:41.577475",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:22:20.468113",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:56.892425",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T12:05:42.685245",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom while",
            "corrected_text": "bedroom, while",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in very early",
            "corrected_text": "in, very early",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and without once sitting down or standing",
            "corrected_text": "and, without once sitting down or standing,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "illustrated with a variety of documents) at",
            "corrected_text": "illustrated with a variety of documents), at",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "go and look up Mr Rugg",
            "corrected_text": "go and look up Mr. Rugg",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to require another back and bundling up his papers",
            "corrected_text": "to require another back; and bundling up his papers,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "one more hearty shake of the hand with Clennam",
            "corrected_text": "one more hearty shake of the hand with Clennam,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "he went at full speed down-stairs",
            "corrected_text": "he went at full speed down-stairs,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam of course",
            "corrected_text": "Clennam, of course,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "nearly an hour before her time but he was not sorry to",
            "corrected_text": "nearly an hour before her time; but he was not sorry to",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "have the opportunity of calming himself with a leisurely walk",
            "corrected_text": "have the opportunity of calming himself with a leisurely walk.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "When he returned to the street and had knocked at the bright brass knocker",
            "corrected_text": "When he returned to the street, and had knocked at the bright brass knocker,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "he was informed that she had come and was shown up-stairs to Flora's breakfast-room",
            "corrected_text": "he was informed that she had come, and was shown up-stairs to Flora's breakfast-room.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Little Dorrit was not there herself but Flora was",
            "corrected_text": "Little Dorrit was not there herself, but Flora was,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and testified the greatest amazement at seeing him",
            "corrected_text": "and testified the greatest amazement at seeing him.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Good gracious Arthur \u2014 Doyce and Clennam",
            "corrected_text": "Good gracious, Arthur \u2014 Doyce and Clennam!",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "who would have ever thought of seeing such a sight as this and pray",
            "corrected_text": "who would have ever thought of seeing such a sight as this, and pray",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "excuse a wrapper for upon my word I really never and a faded check too",
            "corrected_text": "excuse a wrapper for, upon my word, I really never, and a faded check too,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "me",
            "corrected_text": "me,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "not that I need mind mentioning it to you for you must know that there are such things",
            "corrected_text": "not that I need mind mentioning it to you, for you must know that there are such things,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a skirt and having arranged that a trying on should take place after breakfast",
            "corrected_text": "a skirt, and having arranged that a trying on should take place after breakfast,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "is the reason though I wish not so badly starched",
            "corrected_text": "is the reason, though I wish not so badly starched.",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I ought to make an apology",
            "corrected_text": "I ought to make an apology,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for so early and abrupt a visit but you will excuse it when I tell you the cause",
            "corrected_text": "for so early and abrupt a visit; but you will excuse it when I tell you the cause.",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "In times for ever fled Arthur",
            "corrected_text": "In times for ever fled, Arthur,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pray excuse me Doyce and Clennam infinitely more correct and though un",
            "corrected_text": "pray excuse me, Doyce and Clennam, infinitely more correct, and though un-",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "questionably distant still tis distance lends enchantment to the view",
            "corrected_text": "questionably distant, still 'tis distance lends enchantment to the view,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at least I dont mean that and if I did I suppose it would depend",
            "corrected_text": "at least I don't mean that, and if I did, I suppose it would depend",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "considerably on the nature of the view but Im running on again and you",
            "corrected_text": "considerably on the nature of the view, but I'm running on again, and you",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "put it all out of my head",
            "corrected_text": "put it all out of my head.",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "She glanced at him tenderly and resumed",
            "corrected_text": "She glanced at him tenderly, and resumed:",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "In times for ever fled I was going to say it would have sounded",
            "corrected_text": "In times for ever fled, I was going to say, it would have sounded",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "strange indeed for Arthur Clennam \u2014 Doyce and Clennam naturally",
            "corrected_text": "strange indeed for Arthur Clennam \u2014 Doyce and Clennam, naturally,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quite different \u2014 to make apologies for coming here at any time but",
            "corrected_text": "quite different \u2014 to make apologies for coming here at any time, but",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that is past and what is past can never be recalled except in his own",
            "corrected_text": "that is past, and what is past can never be recalled, except in his own",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "case as poor Mr F said when he was in spirits Cumberland and therefore",
            "corrected_text": "case, as poor Mr. F. said when he was in spirits, Cumberland, and therefore",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "never ate it",
            "corrected_text": "never ate it.",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and got out so quickly that he found himself at the corner of the patriarchal street",
            "corrected_text": "and got out so quickly, that he found himself at the corner of the patriarchal street,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:49:57.941188",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T13:07:52.771065",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom while",
            "corrected_text": "bedroom, while",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in very early",
            "corrected_text": "in, very early",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and without once sitting down or standing",
            "corrected_text": "and, without once sitting down or standing,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "illustrated with a variety of documents) at",
            "corrected_text": "illustrated with a variety of documents), at",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "go and look up Mr Rugg",
            "corrected_text": "go and look up Mr. Rugg",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to require another back",
            "corrected_text": "to require another back;",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and bundling up his papers and exchanging",
            "corrected_text": "and, bundling up his papers, and exchanging",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "down-stairs and steamed",
            "corrected_text": "down-stairs, and steamed",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam of course resolved",
            "corrected_text": "Clennam, of course, resolved",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "he found himself at the corner of the patriarchal street",
            "corrected_text": "he found himself at the corner of the patriarchal street,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "nearly an hour before her time",
            "corrected_text": "nearly an hour before her time;",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "but he was not sorry to have the opportunity",
            "corrected_text": "but he was not sorry to have the opportunity,",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "When he returned to the street and had knocked",
            "corrected_text": "When he returned to the street, and had knocked",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "he was informed that she had come and was shown",
            "corrected_text": "he was informed that she had come, and was shown",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "up-stairs to Flora's breakfast-room",
            "corrected_text": "up-stairs to Flora\u2019s breakfast-room",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Little Dorrit was not there herself",
            "corrected_text": "Little Dorrit was not there herself,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "but Flora was and testified",
            "corrected_text": "but Flora was, and testified",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Good gracious Arthur",
            "corrected_text": "Good gracious, Arthur",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Doyce and Clennam",
            "corrected_text": "Doyce and Clennam!",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "who would have ever thought of seeing such a sight as this",
            "corrected_text": "who would have ever thought of seeing such a sight as this,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "excuse a wrapper for upon my word",
            "corrected_text": "excuse a wrapper for, upon my word,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I really never",
            "corrected_text": "I really never",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I really never",
            "corrected_text": "I really never",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "which is worse but our little friend is making me",
            "corrected_text": "which is worse, but our little friend is making me,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "not that I need mind mentioning it to you",
            "corrected_text": "not that I need mind mentioning it to you,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for you must know that there are such things",
            "corrected_text": "for you must know that there are such things,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a skirt and having arranged that a trying on should take place after",
            "corrected_text": "a skirt, and having arranged that a trying on should take place after",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "breakfast is the reason though",
            "corrected_text": "breakfast, is the reason, though,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I wish not so badly starched",
            "corrected_text": "I wish not so badly starched.",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I ought to make an apology",
            "corrected_text": "I ought to make an apology,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for so early and abrupt a visit",
            "corrected_text": "for so early and abrupt a visit;",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "but you will excuse it when I tell you the cause",
            "corrected_text": "but you will excuse it when I tell you the cause.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "In times for ever fled Arthur",
            "corrected_text": "In times for ever fled, Arthur,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pray excuse me Doyce and Clennam",
            "corrected_text": "pray excuse me, Doyce and Clennam,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "infinitely more correct and though unquestionably",
            "corrected_text": "infinitely more correct, and though unquestionably",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "distant still tis distance lends enchantment to the view",
            "corrected_text": "distant, still \u2019tis distance lends enchantment to the view,",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 36,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at least I dont mean that",
            "corrected_text": "at least I don\u2019t mean that,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 37,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and if I did I suppose it would depend considerably",
            "corrected_text": "and if I did, I suppose it would depend considerably",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 38,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on the nature of the view but Im running on again",
            "corrected_text": "on the nature of the view, but I\u2019m running on again,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 39,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and you put it all out of my head",
            "corrected_text": "and you put it all out of my head.",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 40,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "She glanced at him tenderly and resumed",
            "corrected_text": "She glanced at him tenderly, and resumed:",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 41,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "In times for ever fled I was going to say",
            "corrected_text": "In times for ever fled, I was going to say,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 42,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it would have sounded strange indeed for Arthur Clennam",
            "corrected_text": "it would have sounded strange indeed for Arthur Clennam,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 43,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Doyce and Clennam naturally quite different",
            "corrected_text": "Doyce and Clennam naturally, quite different,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 44,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to make apologies for coming here at any time",
            "corrected_text": "to make apologies for coming here at any time,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 45,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "but that is past and what is past can never be recalled",
            "corrected_text": "but that is past, and what is past can never be recalled,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 46,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "except in his own case as poor Mr F said",
            "corrected_text": "except in his own case, as poor Mr. F. said,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 47,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "when he was in spirits Cumberland and therefore never ate it",
            "corrected_text": "when he was in spirits, Cumberland, and therefore never ate it.",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 48,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "He dressed and got out so quickly that",
            "corrected_text": "He dressed, and got out so quickly that,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_mistral_medium_3_5",
        "date": "2026-07-23T15:50:03.656294",
        "annotator": "Mistral Medium 3.5",
        "annotation_date": "2026-07-23T14:23:19.524207",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom while",
            "corrected_text": "bedroom, while",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in very early in the morning",
            "corrected_text": "in, very early in the morning",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and without once sitting down or standing still",
            "corrected_text": "and, without once sitting down or standing still,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "illustrated with a variety of documents",
            "corrected_text": "illustrated with a variety of documents)",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at the bedside",
            "corrected_text": "at the bedside.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "He now said he would go",
            "corrected_text": "He now said he would \u201cgo",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and look up Mr Rugg",
            "corrected_text": "and look up Mr. Rugg\u201d",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from whom his excited state of mind appeared to require another back",
            "corrected_text": "from whom his excited state of mind appeared to require another back;",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and bundling up his papers and exchanging one more hearty shake of the hand with Clennam",
            "corrected_text": "and, bundling up his papers, and exchanging one more hearty shake of the hand with Clennam,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "he went at full speed down-stairs and steamed off",
            "corrected_text": "he went at full speed down-stairs, and steamed off.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam of course resolved to go direct to Mr Casby's",
            "corrected_text": "Clennam, of course, resolved to go direct to Mr. Casby\u2019s.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "but he was not sorry to have the opportunity of calming himself with a leisurely walk",
            "corrected_text": "but he was not sorry to have the opportunity of calming himself with a leisurely walk.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "When he returned to the street and had knocked at the bright brass knocker",
            "corrected_text": "When he returned to the street, and had knocked at the bright brass knocker,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "he was informed that she had come and was shown up-stairs to Flora's breakfast-room",
            "corrected_text": "he was informed that she had come, and was shown up-stairs to Flora\u2019s breakfast-room.",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Little Dorrit was not there herself but Flora was",
            "corrected_text": "Little Dorrit was not there herself, but Flora was,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and testified the greatest amazement at seeing him",
            "corrected_text": "and testified the greatest amazement at seeing him.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Good gracious Arthur \u2014 Doyce and Clennam",
            "corrected_text": "\u201cGood gracious, Arthur \u2014 Doyce and Clennam!\u201d",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cried that lady",
            "corrected_text": "cried that lady,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 18,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "who would have ever thought of seeing such a sight as this and pray excuse a wrapper for upon my word I really never and a faded check too",
            "corrected_text": "who would have ever thought of seeing such a sight as this? and pray excuse a wrapper, for upon my word I really never \u2014 and a faded check too,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 19,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "which is worse but our little friend is making me",
            "corrected_text": "which is worse, but our little friend is making me",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 20,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "not that I need mind mentioning it to you for you must know that there are such things a skirt",
            "corrected_text": "not that I need mind mentioning it to you, for you must know that there are such things \u2014 a skirt,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 21,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and having arranged that a trying on should take place after breakfast is the reason though I wish not so badly starched",
            "corrected_text": "and having arranged that a trying on should take place after breakfast, is the reason, though I wish not so badly starched.\u201d",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 22,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I ought to make an apology",
            "corrected_text": "\u201cI ought to make an apology,\u201d",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 23,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Arthur",
            "corrected_text": "said Arthur,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 24,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for so early and abrupt a visit",
            "corrected_text": "for so early and abrupt a visit;",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 25,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "but you will excuse it when I tell you the cause",
            "corrected_text": "but you will excuse it when I tell you the cause.\u201d",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 26,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "In times for ever fled Arthur",
            "corrected_text": "\u201cIn times for ever fled, Arthur,\u201d",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 27,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "returned Mrs Finching",
            "corrected_text": "returned Mrs. Finching,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 28,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pray excuse me Doyce and Clennam infinitely more correct and though unquestionably distant still tis distance lends enchantment to the view",
            "corrected_text": "pray excuse me, Doyce and Clennam, infinitely more correct, and though unquestionably distant, still \u2018tis distance lends enchantment to the view,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 29,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at least I dont mean that and if I did I suppose it would depend considerably on the nature of the view",
            "corrected_text": "at least I don\u2019t mean that, and if I did I suppose it would depend considerably on the nature of the view,",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 30,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "but Im running on again and you put it all out of my head",
            "corrected_text": "but I\u2019m running on again, and you put it all out of my head.\u201d",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 31,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "She glanced at him tenderly and resumed",
            "corrected_text": "She glanced at him tenderly, and resumed:",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 32,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "In times for ever fled I was going to say it would have sounded strange indeed for Arthur Clennam",
            "corrected_text": "\u201cIn times for ever fled, I was going to say, it would have sounded strange indeed for Arthur Clennam,",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 33,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Doyce and Clennam naturally quite different",
            "corrected_text": "Doyce and Clennam \u2014 naturally quite different \u2014",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 34,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to make apologies for coming here at any time but that is past and what is past can never be recalled except in his own case as poor Mr F said when he was in spirits Cumberland and therefore never ate it",
            "corrected_text": "to make apologies for coming here at any time, but that is past, and what is past can never be recalled, except in his own case, as poor Mr. F. said when he was in spirits, Cumberland, and therefore never ate it.\u201d",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 35,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "He dressed and got out so quickly that he found himself at the corner of the patriarchal street nearly an hour before her time",
            "corrected_text": "He dressed and got out so quickly, that he found himself at the corner of the patriarchal street nearly an hour before her time;",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Mistral",
    "release_date": "2026-04-30",
    "release_source": "https://openrouter.ai/mistralai/mistral-medium-3-5",
    "release_notes": "Release date taken from the OpenRouter listing."
  },
  {
    "model_name": "Mistral Small 3.1 24B",
    "model_id": "or_mistral_small_3_1_24b_instruct",
    "date": "2026-02-22T16:03:49.102712",
    "shots": 2,
    "config": {
      "model_id": "or_mistral_small_3_1_24b_instruct",
      "display_name": "Mistral Small 3.1 24B",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-07",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Mistral Small 3.1 24B",
    "annotation_date": "2025-04-07T19:00:33.594893",
    "file_results": [
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:02:14.022955",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T19:00:33.594893",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "question mark",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:02:19.063719",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:43:49.151407",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "a",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "question",
            "corrected_text": "Question",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "mark",
            "corrected_text": "Mark",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:02:17.813592",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:47:36.226440",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "question mark",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:02:26.347979",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T19:00:57.664958",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "cap",
            "corrected_text": "Cap",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "asked",
            "corrected_text": "Asked",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:02:16.335243",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:44:19.999925",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "said",
            "corrected_text": "Said",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "asked",
            "corrected_text": "Asked",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:02:16.335626",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:47:59.708432",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam",
            "corrected_text": "said Clennam.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "true to a certain extent",
            "corrected_text": "true to a certain extent.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:02:48.989482",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T19:01:31.734494",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: Both edits change \"about and\" to \"about, and\", inserting a comma after \"about\". The original_text and corrected_text match the ground truth\u2019s core change precisely.\n\nTherefore, the prediction correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 26,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after the word \"Clennam\" in the phrase \"Clennam in\" \u2192 \"Clennam, in.\" The prediction captures the same essential punctuation change by editing \"Clennam\" \u2192 \"Clennam,.\" Although it omits the following word \"in\" as context, it still represents the core intended edit (adding a comma immediately after \"Clennam\")."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "uneasy",
            "corrected_text": "uneasy on",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "for what",
            "corrected_text": "for what,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam Tattycoram!",
            "corrected_text": "Clennam!\u2014Tattycoram!",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "five and twenty",
            "corrected_text": "five-and-twenty,",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "girls",
            "corrected_text": "girl's",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:02:38.406583",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:48:23.168169",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association",
            "corrected_text": "association,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "behalf",
            "corrected_text": "behalf,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "supper",
            "corrected_text": "supper,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:02:41.214411",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T19:01:55.424907",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both apply the same core change\u2014adding a period to the end of \"Sun and Shadow\" to make it \"Sun and Shadow.\" The original and corrected texts match the ground truth intention precisely."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:02:40.402605",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:48:41.444568",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Shadow",
            "corrected_text": "Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation,\" and the predicted edit type is also \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change adds a period to the end of the phrase \"Sun and Shadow\" (\"Sun and Shadow\" \u2192 \"Sun and Shadow.\"). The prediction adds a period to the final word \"Shadow\" (\"Shadow\" \u2192 \"Shadow.\"). Since \"Shadow\" is the final word of the ground-truth string, adding the period after \"Shadow\" captures the same core intended change: placing a period at the end of the title/phrase. The prediction uses less surrounding context but preserves the essential punctuation correction."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:02:46.163915",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:49:46.178782",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core punctuation change is identical, with matching original and corrected text."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2025-04-08T22:20:56.582803",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T19:02:22.700457",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "ed",
            "corrected_text": "and",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wet",
            "corrected_text": "wet,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "late, dull",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "a",
            "corrected_text": "A",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "trees",
            "corrected_text": "trees",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:07.905218",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:49:05.642114",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). The core textual change is identical, with no discrepancies in original or corrected text. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Chalons",
            "corrected_text": "Chalons",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wet",
            "corrected_text": "wet",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "late, dull autumn night",
            "corrected_text": "late, dull autumn night",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "ed",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:11.504533",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:50:13.726790",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both change the same original text \"Saone\" to the same corrected text \"Sa\u00f4ne\" (adding the circumflex on 'o'). The core intended correction is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). This captures the core intended correction exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "late dull",
            "corrected_text": "late, dull",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wet",
            "corrected_text": "with wet",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar trees",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "ed",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:06.564662",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T19:02:53.289034",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "indeed",
            "corrected_text": "indeed so",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped",
            "corrected_text": "hoped so",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "heart",
            "corrected_text": "heart (as) she did",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:07.546577",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:49:30.290534",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "indeed",
            "corrected_text": "indeed so",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "generous",
            "corrected_text": "good, generous",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "heart",
            "corrected_text": "heart (as) she did",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:06.510660",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:50:39.664533",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "indeed",
            "corrected_text": "indeed so",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "heart",
            "corrected_text": "heart (as) she did",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "earnestness",
            "corrected_text": "earnestness)",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "darkening",
            "corrected_text": "darkening trees",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "at length",
            "corrected_text": "at length,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hoped",
            "corrected_text": "hoped so",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:13.012793",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:49:52.089563",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Cap",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "abroad",
            "corrected_text": "abroad?",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "married",
            "corrected_text": "married.",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:23.933666",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:51:06.497785",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Cap",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "abroad",
            "corrected_text": "abroad?",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "married",
            "corrected_text": "married.",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:32.555994",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T19:05:30.377129",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "indoors",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "whatever",
            "corrected_text": "whichever",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "than",
            "corrected_text": "",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:40.617757",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:50:16.098586",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within",
            "corrected_text": "within-doors",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "than",
            "corrected_text": "that",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "was",
            "corrected_text": "whatever",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:35.378700",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:51:42.120718",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within-doors",
            "corrected_text": "indoors",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "than",
            "corrected_text": "that",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "whatever",
            "corrected_text": "what",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:40.063068",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T19:06:06.997780",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege",
            "corrected_text": "lord",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "city",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:35.761902",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T19:06:33.568020",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:37.923613",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:53:47.218248",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "driest snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_mistral_small_3_1_24b_instruct",
        "date": "2026-02-22T16:03:49.102712",
        "annotator": "Mistral Small 3.1 24B",
        "annotation_date": "2025-04-07T22:56:30.304044",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you",
            "corrected_text": "you,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      }
    ],
    "vendor": "Mistral",
    "release_date": "2025-03-17",
    "release_source": "https://mistral.ai/news/mistral-small-3-1"
  },
  {
    "model_name": "Muse Glimmer 30B",
    "model_id": "or_meta_muse_glimmer_30b",
    "date": "2026-09-10T23:19:32.643088",
    "shots": 2,
    "config": {
      "model_id": "or_meta_muse_glimmer_30b",
      "display_name": "Muse Glimmer 30B",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-09-10",
      "notes": "Benchmark run with 2-shot learning at high reasoning effort"
    },
    "annotator": "Muse Glimmer 30B",
    "annotation_date": "2026-09-10T23:07:48.097743",
    "file_results": [
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:37.148994",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:07:48.097743",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. This captures the core intended punctuation correction precisely, with identical original and corrected text."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \"howling\" in the phrase \"howling over\" (i.e., \"howling over\" \u2192 \"howling, over\"). The predicted edit captures the same core punctuation change by changing \"howling\" \u2192 \"howling,\", which effectively inserts the comma at the correct location. Although the prediction includes less surrounding context (it omits \"over\"), it still represents the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"yonder to-day\" to \"yonder, to-day\", i.e., it inserts a comma immediately after \"yonder\". The prediction changes \"yonder\" to \"yonder,\", which captures the same core punctuation change (adding a comma after \"yonder\"). Although the prediction omits the following word \"to-day\" as context, it still correctly reflects the essential intended edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to insert a comma after \"pockets\" in the phrase \"pockets and\" (i.e., \"pockets and\" \u2192 \"pockets, and\"). The prediction captures the same core punctuation change by editing \"pockets\" \u2192 \"pockets,\". Although it omits the following word \"and\" from the edit span, it still correctly represents the essential intended correction: adding a comma after \"pockets\"."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "first.",
            "corrected_text": "first,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:20.516322",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:10:01.441726",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day sir is",
            "corrected_text": "yonder, to-day, Sir, is",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:33.063646",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:12:39.428734",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"howling\" in the phrase \"howling over\" \u2192 \"howling, over.\" The predicted edit captures this same core change by converting \"howling\" \u2192 \"howling,\" (even though it omits the following word \"over\" from the span). The essential punctuation insertion at the correct location is accurately represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day\". The prediction \"yonder\" \u2192 \"yonder,\" captures the same essential punctuation insertion (adding a comma immediately after \"yonder\"). Although it omits the following word \"to-day\", it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"pockets and\" to \"pockets, and,\" which is fundamentally the insertion of a comma immediately after the word \"pockets\" (before \"and\"). The predicted edit changes \"pockets\" to \"pockets,\", which captures the same core punctuation insertion at the correct location. Although the prediction includes less surrounding context (it omits \"and\"), it still reflects the essential intended change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:30.040948",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:02:47.425188",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir\", inserting a comma after \"No\". This captures the core intended punctuation correction with identical original and corrected text.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"why did he dine\" to \"Why did he dine.\" The prediction captures the same core change by converting \"why\" to \"Why.\" Although it includes less surrounding context, it correctly represents the essential intended edit (capitalizing the first word)."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the ending punctuation from an exclamation point to a question mark in the phrase \"cold stones!\" \u2192 \"cold stones?\". The prediction captures the same core change on the relevant word/ending: \"stones!\" \u2192 \"stones?\". Although it omits the preceding word \"cold\", it still correctly represents the essential intended edit (replacing ! with ? at the end of the phrase)."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:32.399360",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:09:55.290245",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that he might think, Why",
            "corrected_text": "that he might think, \"Why",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir,",
            "corrected_text": "No, sir,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:20.410850",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:14:16.768422",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "i have",
            "corrected_text": "I have",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones.\u201d She",
            "corrected_text": "cold stones?\u201d She",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:35.586807",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:02:34.600757",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word in the phrase \"if he\" to \"If he.\" The prediction captures the core change\u2014lowercase \"if\" to uppercase \"If\"\u2014even though it includes less surrounding context (it omits \"he\"). This still reflects the same essential correction (capitalizing \"if\" at the start of the phrase/sentence)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction replaces \"said\" with \"asked\" without including the trailing context (\"Clennam\"), but it captures the core intended change (said \u2192 asked). Omitting surrounding unchanged words is acceptable since the essential substitution is correctly identified."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:29.115504",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:10:16.157397",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial word in the phrase \"if he\" \u2192 \"If he\". The predicted edit \"if\" \u2192 \"If\" captures the core intended change (capitalizing \"if\"). Although it omits the following word \"he\" as context, it still represents the same essential correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\", whose essential change is replacing the word \"said\" with \"asked\" while keeping the surrounding context (\"Clennam\") the same. The prediction captures this core substitution by replacing \"said\" with \"asked\". Although it omits the additional context word \"Clennam\" in the original/corrected_text fields, it still represents the same intended correction (said \u2192 asked). Therefore, the text content matches the ground truth's intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:36.611239",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:12:28.720013",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"if he\" to \"If he,\" capturing the identical core change (capitalizing the initial 'i' to 'I'). There is no discrepancy in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\", i.e., the essential change is replacing the word \"said\" with \"asked\" while keeping the rest of the phrase unchanged. The predicted edit replaces \"said\" with \"asked\" without including the surrounding word \"Clennam\". This still captures the core intended correction (said \u2192 asked), and omitting additional unchanged context is acceptable under the rubric.\n\nTherefore, the predicted edit correctly reflects the ground truth's intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:44.691395",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:03:24.296901",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "materials, costing",
            "corrected_text": "materials costing",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "about, and",
            "corrected_text": "about and",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "earnestly, telling",
            "corrected_text": "earnestly telling",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Clennam, in",
            "corrected_text": "Clennam in",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion, did",
            "corrected_text": "tion did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "said,",
            "corrected_text": "said",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "said, when",
            "corrected_text": "said when",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:47.135859",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:10:41.401420",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"about and\" to \"about, and\" by inserting a comma after \"about.\" This captures the same core correction with identical original and corrected text. Therefore, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction applies the same core change\u2014adding a comma immediately after \"said\"\u2014but includes additional surrounding context (\"and said\" \u2192 \"and said,\"). This still captures the essential intended punctuation insertion at the same word.\n\nTherefore, the predicted edit correctly reflects the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in,\" inserting a comma after \"Clennam.\" This captures the same core punctuation correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "association,",
            "corrected_text": "association",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:12.498081",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:12:48.525644",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original segment \"about and\" and the same correction \"about, and\", capturing the identical core punctuation insertion (adding a comma after \"about\"). Ignoring line numbers, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction remove the comma in \"association, did\" to produce \"association did.\" The core punctuation change is identical, so the prediction captures the intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"earnestly\" in the phrase \"earnestly telling\" \u2192 \"earnestly, telling.\" The original and corrected text match the ground truth\u2019s intended punctuation change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"said when\") and the same corrected_text (\"said, when\"), capturing the identical core change: inserting a comma after \"said.\" Line numbers are to be ignored, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The predicted edit adds the comma after \"said\" as well, but includes additional preceding context (\"and said\" \u2192 \"and said,\"). This still captures the core intended change\u2014punctuating \"said\" with a comma\u2014so the text content aligns with the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). This captures the core intended edit with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:57.744170",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:02:05.087334",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I.",
            "corrected_text": "Chapter I",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow.",
            "corrected_text": "Sun and Shadow",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:00.574165",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:09:54.413519",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. This captures the core intended change with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:17:58.312592",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:12:05.684280",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:18.810436",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:03:27.380965",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction captures the same core punctuation change, just with additional preceding context (\"One man slowly\" \u2192 \"One man, slowly\"). The essential edit\u2014adding a comma after \"man\"\u2014is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change: inserting a comma after \"Chalons\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Sa\u00f4ne",
            "corrected_text": "river, Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sa\u00f4ne it",
            "corrected_text": "Sa\u00f4ne, it",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:03.150923",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:10:26.854636",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:19.145842",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:12:28.271011",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction applies the same core punctuation change but includes additional surrounding context (\"One man slowly\" \u2192 \"One man, slowly\"). This still captures the essential intended edit: adding a comma after \"man.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 13,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same original text (\"sodden\") and the same corrected text (\"soddened\"), capturing the core intended change. Line number differences are ignored as instructed.\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sa\u00f4ne it",
            "corrected_text": "Sa\u00f4ne, it",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:23.509031",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:08:11.855334",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"heart so\" \u2192 \"heart, so\", inserting a comma after \"heart\". The core intended change is captured identically.\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"generous, Mr.\") and the same correction (\"generous Mr.\"), capturing the intended removal of the comma after \"generous.\" Therefore the core change matches the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction applies the same essential change\u2014adding a comma after \"length\" before \"said\"\u2014but includes an extra preceding word (\"at\"). This added context does not change the core punctuation correction, and the intended comma insertion is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 33,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\nText Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change from present to past tense. Line number differences are to be ignored, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestness), she",
            "corrected_text": "earnestness) she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:22.092174",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:10:45.513756",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"heart so\") and the same correction (\"heart, so\"), capturing the intended insertion of a comma after \"heart\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"length said\" to \"length, said\", correctly capturing the intended insertion of a comma after \"length\". No discrepancy in the core change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (present tense to past tense). Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "she thanked",
            "corrected_text": "she indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:37.112946",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:11:49.734512",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits apply the same core punctuation change, converting \"heart so\" to \"heart, so\" by inserting a comma after \"heart.\" Line numbers are ignored as instructed, so the prediction captures the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core punctuation change, inserting a comma after \"length\" before \"said,\" but includes the additional preceding word \"at\" as context (\"at length said\" \u2192 \"at length, said\"). This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "\u201cThat\u2019s well! I hope so; I am not disappointed.\u201d",
            "corrected_text": "\u201cThat\u2019s well! I hoped so; I am not disappointed.\u201d",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: The ground truth change is specifically \"I hope so\" \u2192 \"I hoped so\". The predicted edit changes the same phrase within a larger quoted sentence: \"... I hope so; ...\" \u2192 \"... I hoped so; ...\". Although it includes additional surrounding context, the core intended replacement is captured correctly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart",
            "corrected_text": "tially up into his face, with some hurried words to the effect that she indeed thanked him from her heart",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Good, generous Mr.",
            "corrected_text": "Good, generous Mr.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "(as she did, if it be the source of earnestness)",
            "corrected_text": "(as she did, if it be the source of earnestness),",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:22.571720",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:03:11.212316",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:41.803917",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:10:56.798674",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"hers\" in the phrase \"hers and\" \u2192 \"hers, and.\" The predicted edit applies the same core punctuation change (comma after \"hers\") but includes extra surrounding context: \"from hers and\" \u2192 \"from hers, and.\" This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma between \"hers\" and \"matters\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction applies the same core punctuation change in a slightly longer context span (\"on hers matters\" \u2192 \"on hers, matters\"). Including extra surrounding words is acceptable, and the essential edit\u2014the comma insertion after \"hers\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"moment\" in the phrase \"moment with,\" changing it from \"moment with\" to \"moment, with.\" The original_text and corrected_text match the ground truth exactly. Therefore, the predicted edit captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"beautiful that\" to \"beautiful, that\", inserting a comma after \"beautiful\". The core change is identical, with no discrepancy in original or corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they are to be married.",
            "corrected_text": "They are to be married.",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"capitalization\" and the predicted type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the word \"they\" to \"They\". The prediction applies the same capitalization change at the beginning of the larger phrase/sentence (\"they are to be married.\" \u2192 \"They are to be married.\"). This includes additional surrounding context but preserves the core intended edit (capitalizing \"they\").\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:41.129421",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:13:03.142979",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same correction (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The corrected text matches the ground truth exactly, capturing the intended punctuation change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original and corrected text: \"moment with\" \u2192 \"moment, with\" (inserting a comma after \"moment\"). This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. Text Content Accuracy: Both specify the same transformation from \"beautiful that\" to \"beautiful, that,\" inserting a comma after \"beautiful.\" The core change is identical, with no discrepancies in wording or punctuation. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they are to be married.",
            "corrected_text": "They are to be married.",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is capitalizing the word \"they\" to \"They\". The predicted edit capitalizes the same word at the start of the longer phrase \"they are to be married.\" \u2192 \"They are to be married.\" This includes additional surrounding context, but the core intended change (lowercase \"they\" to capitalized \"They\") is correctly captured."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:54.720663",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:03:21.679181",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"shore and\" to \"shore, and\", inserting a comma after \"shore\". The core punctuation correction is identical in original and corrected text. Therefore, the prediction captures the ground truth intention precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"replacement\", so the type matches exactly.\n2) Text Content Accuracy: Both indicate the same change from \"within doors\" to \"within-doors\" (inserting a hyphen between the words). The core correction is identical in original and corrected text. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both replace the original word \"that\" with the corrected word \"than\". The core intended change is captured identically with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:42.916721",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:10:46.099192",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:18:57.227544",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:12:59.448068",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "than once were",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth core change is replacing \"that\" with \"than.\" The predicted edit replaces \"that once were\" with \"than once were,\" which includes extra surrounding context but still performs the same essential substitution (\"that\" \u2192 \"than\"). Therefore, it captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore, and",
            "corrected_text": "shore and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:19:32.643088",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:03:07.761599",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the types match exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change, inserting a comma immediately after \"existence\" while including extra surrounding context (\"existence at\" \u2192 \"existence, at\"). This captures the essential intended punctuation edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth\u2019s core change is altering the punctuation immediately after \"it\" from a comma to a semicolon (\"it,\" \u2192 \"it;\"). The prediction expands the span to include the following word (\"it to\" \u2192 \"it; to\"), but it still captures the essential intended change: placing a semicolon after \"it\" at that position. Although the predicted original_text omits the comma explicitly, the corrected_text shows the semicolon insertion/replacement at the same spot, matching the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma immediately after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit also inserts a comma immediately after \"motionless\" (\"motionless when\" \u2192 \"motionless, when\"). Although the prediction includes additional surrounding context (the following word \"when\"), it captures the same core change: adding a comma after \"motionless.\" Therefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 18,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit (\"view by\" \u2192 \"view, by\") also inserts a comma immediately after \"view\" and simply includes the following word \"by\" as additional context. The core punctuation change is the same.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liege lord",
            "corrected_text": "liege lord",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "city",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:19:30.071709",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:10:42.588254",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "reluctant return of",
            "corrected_text": "reluctant return to",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\" edits, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the word \"of\" to \"to\". The predicted edit replaces the phrase \"reluctant return of\" with \"reluctant return to\", which includes additional surrounding context but preserves the same core substitution (\"of\" \u00192 \"to\"). Therefore, it correctly captures the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 11,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit also inserts a comma right after \"existence\" (\"existence at\" \u2192 \"existence, at\"), merely including the following word as extra context. This captures the same essential punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction have type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma immediately after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction also adds a comma immediately after \"motionless\" (\"motionless when\" \u2192 \"motionless, when\"). The additional context word \"when\" does not change the core edit; it correctly captures the intended punctuation insertion."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 14,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction also inserts a comma immediately after \"view\" (\"view by\" \u2192 \"view, by\"). Although the prediction includes extra surrounding context (the following word \"by\"), it captures the same core punctuation change intended in the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "city",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liege lord",
            "corrected_text": "liege lord",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:19:26.819900",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:12:33.870113",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 7,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\nText Content Accuracy: Both indicate replacing the original text \"of\" with the corrected text \"to\". This captures the core intended change with no discrepancy in the replaced/corrected terms.\n\nLine numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the punctuation following \"them\" from a comma to a semicolon (\"them,\" \u2192 \"them;\"). The prediction outputs the same corrected form (\"them;\"), capturing the core intended outcome: there should be a semicolon after \"them\". Although the predicted original_text omits the comma (\"them\" instead of \"them,\"), the essential edit\u2014making the punctuation after \"them\" a semicolon\u2014is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 17,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"existence\" to \"existence,\" (inserting a comma immediately after the word \"existence\"). The prediction changes \"existence at\" to \"existence, at\", which also inserts a comma immediately after \"existence\" while including an extra following word as context. This captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction adds a comma after \"motionless\" as well, using additional surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 19,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the punctuation immediately following \"stand-still\" from a comma to a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction also changes the punctuation after \"stand-still\" to a semicolon, merely including the following word \"to\" as extra context (\"stand-still to\" \u2192 \"stand-still; to\"). This captures the same core intended correction (comma after \"stand-still\" should be a semicolon)."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 19,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction also adds a comma immediately after \"view\" within a longer phrase (\"view by\" \u2192 \"view, by\"). This includes additional surrounding context but captures the same core punctuation insertion at the same location. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "city",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liege lord",
            "corrected_text": "liege lord",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:19:00.152985",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:03:24.539247",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:19:04.977319",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:11:10.282960",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "authorise you, now",
            "corrected_text": "authorise you now",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:19:05.554100",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:12:51.365880",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam, \"not",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "a little premature.",
            "corrected_text": "a little premature.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "that boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty sticking",
            "corrected_text": "twenty, sticking",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "score; now I",
            "corrected_text": "score; now, I",
            "observed_line_number": 39,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest snorts.",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:19:11.447530",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:03:44.982278",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The predicted edit also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (omitting \"Pancks\"), it captures the core intended punctuation change in the correct location. Therefore, the essential edit is accurately represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "need mind",
            "corrected_text": "need to mind",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:19:20.068908",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:11:09.907986",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it still captures the core intended change: adding a comma after \"For\" before \"Mr.\". Therefore, the essential edit is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 9,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original segment (\"quickly that\") and the same correction (\"quickly, that\"), inserting a comma after \"quickly.\" This captures the core intended change precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "never and a",
            "corrected_text": "never, and a",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_meta_muse_glimmer_30b",
        "date": "2026-09-10T23:19:25.191949",
        "annotator": "Muse Glimmer 30B",
        "annotation_date": "2026-09-10T23:13:22.987772",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after the word \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the predicted snippet truncates the surrounding context (it omits \"Pancks\"), it correctly captures the essential punctuation change and its placement. Therefore, it matches the core intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that,\" inserting a comma after \"quickly.\" The core change is identical, so the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me, not",
            "corrected_text": "making me; not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Meta",
    "release_date": "2026-08-09",
    "release_source": "https://openrouter.ai/meta/muse-glimmer-30b",
    "release_notes": "Open-weight 30B multimodal model distilled from Muse Spark and optimized for autonomous agents. Benchmark configuration uses high reasoning effort."
  },
  {
    "model_name": "Muse Spark 1.1",
    "model_id": "or_meta_muse_spark_1_1",
    "date": "2026-07-23T15:37:25.083682",
    "shots": 2,
    "config": {
      "model_id": "or_meta_muse_spark_1_1",
      "display_name": "Muse Spark 1.1",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Muse Spark 1.1",
    "annotation_date": "2026-07-23T11:32:12.316434",
    "file_results": [
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:13.197577",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:32:12.316434",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"howling over\" to \"howling, over\", inserting a comma after \"howling\". This captures the core intended change with identical original and corrected text.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text \"yonder to-day\" and the same correction \"yonder, to-day\", inserting a comma after \"yonder\". The core change is identical, so the intended edit is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth edit type.\nText Content Accuracy: Both ground truth and prediction change \"Sir\" to \"sir,\" capturing the same core capitalization correction with identical original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets\". The original and corrected text strings are identical between ground truth and prediction, so the core change is captured precisely."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:18.238359",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:44:55.779560",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change\u2014adding a comma after \"howling\". Therefore the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the core change of inserting a comma after \"yonder\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\nText Content Accuracy: Both specify the same core change from \"Sir\" to \"sir\". There is no discrepancy in the original or corrected text. Therefore, the predicted edit captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"pockets and\" to \"pockets, and\", inserting a comma after \"pockets\". The core punctuation correction is identical. Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:14.057932",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:43:29.291085",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction have type \"punctuation\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"howling over\" and the same corrected text \"howling, over\", capturing the identical core change (inserting a comma after \"howling\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change: insertion of a comma after \"yonder\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"Sir\" to \"sir\", capturing the identical core change (lowercasing the initial letter). No discrepancies in the original or corrected text are present.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation: \"pockets and\" \u2192 \"pockets, and\". This captures the core intended change (inserting a comma after \"pockets\") with identical original and corrected text.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:10.526515",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:32:13.588202",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir,\" inserting a comma after \"No.\" This captures the full core intended correction with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction use the type \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial word from \"why\" to \"Why\" at the start of the phrase \"why did he dine\" (i.e., capitalizing the first letter of the sentence). The prediction applies the same core change by converting \"why\" to \"Why\". Although the ground truth includes more surrounding context (\"did he dine\"), the essential correction\u2014capitalizing the initial \"why\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:08.130995",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:44:49.087860",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word of the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction captures the essential/core change by capitalizing \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it implements the same intended correction (capitalizing the first word), so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:16.987103",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:43:19.167718",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir,",
            "corrected_text": "No, sir,",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"No\" (\"No sir\" \u2192 \"No, sir\"). The prediction also captures this same core change (\"No sir,\" \u2192 \"No, sir,\"). Although the prediction includes an additional trailing comma after \"sir\" in both the original and corrected text, that extra context does not alter the essential intended edit, which is adding the comma after \"No.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the initial word from \"why\" to \"Why\" in the phrase \"why did he dine\". The prediction also changes \"why\" \u2192 \"Why\". Although it includes less surrounding context, it captures the core intended change (capitalizing the first word). Therefore, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:13.476538",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:32:08.717731",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word in the phrase \"if he\" to \"If he\"\u2014i.e., changing \"if\" to \"If\" while leaving \"he\" unchanged. The prediction captures this core change by specifying \"if\" \u2192 \"If\". Although it provides less surrounding context (omits \"he\"), it still correctly represents the essential correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"said Clennam\" to \"asked Clennam\", whose core change is replacing the word \"said\" with \"asked\" while leaving \"Clennam\" unchanged. The prediction replaces \"said\" with \"asked\" without including the trailing context \"Clennam\", but it still captures the essential intended substitution. Applying the predicted change in the original context would yield the same corrected wording (\"asked Clennam\"). Therefore the text content matches the ground truth intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:19.902492",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:44:46.178955",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the word \"if\" at the start of the phrase \"if he\" (changing \"if he\" to \"If he\"). The prediction captures the same core change by converting \"if\" to \"If.\" Although it omits the following word \"he\" from the context, the essential correction\u2014capitalizing \"if\"\u2014is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core intended change by replacing \"said\" with \"asked\". Although it omits the surrounding context (\"Clennam\"), the essential substitution is the same, so it matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:12.020048",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:43:20.542156",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the word \"if\" at the start of the phrase \"if he\" (\"if he\" \u0006 \"If he\"). The prediction captures the same core change by converting \"if\" to \"If.\" Although the prediction includes less surrounding context (it omits \"he\"), it still accurately represents the essential capitalization correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the verb phrase from \"said Clennam\" to \"asked Clennam\", i.e., the core intended change is \"said\" \u2192 \"asked\" while keeping \"Clennam\" unchanged. The prediction captures this essential substitution by replacing \"said\" with \"asked\". Although it includes less surrounding context than the ground truth, it still implements the same core correction."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:55.578418",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:32:15.420113",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"high road\") and the same corrected text (\"high-road\"), capturing the identical core change of inserting a hyphen between the words. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\nText Content Accuracy: Both specify the same original phrase (\"materials costing\") and the same correction (\"materials, costing\"), inserting a comma after \"materials.\" This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"about and\" to \"about, and\" by inserting a comma after \"about.\" The core intended punctuation change is captured exactly, with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly.\" The core intended punctuation change is captured identically with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"said when\") and the same correction (\"said, when\"), inserting a comma after \"said\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: \"said\" \u2192 \"said,\" (adding a comma). There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same core correction, inserting a comma after \"Clennam\" (\"Clennam in\" \n \"Clennam, in\"). The original and corrected text are identical between ground truth and prediction, so the intended change is fully captured."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:03.463964",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:44:54.248236",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"high road\" \u2192 \"high-road\" (adding a hyphen). This captures the core intended edit with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same change from \"materials costing\" to \"materials, costing\" (inserting a comma after \"materials\"), capturing the identical core correction. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"about and\" to \"about, and\" (inserting a comma after \"about\"). The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original segment \"earnestly telling\" and the same corrected text \"earnestly, telling,\" indicating insertion of a comma after \"earnestly.\" The core change is identical, so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"said when\") and the same corrected text (\"said, when\"), capturing the identical core change\u2014adding a comma after \"said\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"said\" to \"said,\" by adding a comma. The core intended punctuation change is captured identically.\nTherefore, the predicted edit correctly matches the ground truth."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both apply the same core change, inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The original and corrected texts are identical between ground truth and prediction, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:56.002836",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:43:24.215210",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"high road\" is corrected to \"high-road\" by inserting a hyphen between the words. The original and corrected texts match the ground truth exactly.\nTherefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"materials costing\" to \"materials, costing,\" inserting a comma after \"materials.\" The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma to convert \"about and\" into \"about, and\". The core punctuation correction is identical. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"association, did\" to \"association did,\" i.e., they remove the comma after \"association.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same corrected text (\"earnestly, telling\"), capturing the identical core change of inserting a comma after \"earnestly\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"said when\" to \"said, when,\" inserting a comma after \"said.\" This captures the core intended punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a comma after \"said\" (\"said\" \u2192 \"said,\"). The original and corrected text strings match the ground truth exactly. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"Clennam in\" to \"Clennam, in,\" inserting a comma after \"Clennam.\" The core punctuation correction is captured identically."
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:38.438404",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:32:05.213584",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:40.182384",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:44:44.698071",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:35:43.421608",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:43:06.918800",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:07.078157",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:32:28.750327",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"dull\" in the phrase \"dull autumn\" to make it \"dull, autumn\". The original and corrected texts are identical between ground truth and prediction, capturing the intended punctuation edit precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth. Text Content Accuracy: Both ground truth and prediction change \"man slowly\" to \"man, slowly\" by inserting a comma after \"man.\" The core intended punctuation correction is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change: insertion of a comma after \"Chalons.\" Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u0000ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u0000ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:12.142953",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:44:58.508871",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same correction (\"dull, autumn\"), capturing the identical core change\u2014adding a comma after \"dull.\" Line numbers are to be ignored, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"man slowly\" to \"man, slowly\" by inserting a comma after \"man.\" This captures the same core correction with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"Chalons was\" to \"Chalons, was,\" inserting a comma after \"Chalons.\" This captures the core intended punctuation correction exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u0000ne",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees,",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u0000ne",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:21.360222",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:43:20.965022",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"dull autumn\" to \"dull, autumn\", inserting a comma after \"dull\". The core punctuation correction is identical."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly",
            "corrected_text": "One man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"man\" in the phrase \"man slowly\" (\"man slowly\" \u2192 \"man, slowly\"). The prediction applies the same core change\u2014adding a comma after \"man\"\u2014but includes additional surrounding context (\"One man slowly\" \u2192 \"One man, slowly\"). This preserves the essential punctuation correction identified in the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have the type set to \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same correction (\"Chalons, was\"), capturing the core change of inserting a comma after \"Chalons\". Therefore, the predicted edit matches the ground truth\u2019s intended change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u0000f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees,",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u0000f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:19.139957",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:32:40.376014",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth indicates inserting a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The prediction also inserts a comma after \"heart\" but includes additional surrounding context (\"heart so much\" \u2192 \"heart, so much\"). This preserves the same core punctuation change at the same location, so it correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"length\" in the phrase \"length said\" \u2192 \"length, said.\" The prediction performs the same core punctuation change (inserting a comma after \"length\") but includes additional surrounding context (\"at length said\" \u2192 \"at length, said\"). Since the essential edit\u2014adding the comma after \"length\"\u2014is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so;",
            "corrected_text": "I hoped so;",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth\u2019s core change is verb tense: \"I hope so\" \u2192 \"I hoped so\" (hope \u2192 hoped). The prediction captures the same essential change while including a semicolon as additional context in both the original and corrected text (\"I hope so;\" \u2192 \"I hoped so;\"). Since the semicolon is not part of the core change and is consistently present on both sides, the prediction correctly reflects the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did,",
            "corrected_text": "indeed thanked him from her heart (as she did,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:07.301848",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:45:17.067906",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"generous, Mr.\" to \"generous Mr.\", removing the comma after \"generous.\" This captures the core intended correction exactly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"insertion,\" so the type matches exactly.\n\nText Content Accuracy: Both edits change the phrase from \"as she did\" to \"as indeed she did\". The core intended change\u2014adding \"indeed\"\u2014is captured identically in the predicted edit.\n\nTherefore, the predicted edit correctly matches the ground truth in both type and content."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart, so",
            "corrected_text": "heart so",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length, said",
            "corrected_text": "length said",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "up into his face, with some hurried words to the effect that she thanked him from her heart (as",
            "corrected_text": "up into his face, with some hurried words to the effect that she thanked him from her heart (as",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I have very much to ask of you.",
            "corrected_text": "I have very much to ask of you.",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "I hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:11.007766",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:43:31.910117",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"insertion\", so the type matches exactly. 2) Text Content Accuracy: Both identify the same original text (\"as she did\") and the same corrected text (\"as indeed she did\"), capturing the identical core change\u2014adding \"indeed\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"I hope so\" to \"I hoped so\", whose core modification is changing the verb form \"hope\" \u2192 \"hoped\". The prediction captures exactly this essential change by replacing \"hope\" with \"hoped\" (with less surrounding context). This aligns with the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart, so",
            "corrected_text": "heart so",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length, said",
            "corrected_text": "length said",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:33.805698",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:33:02.022458",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"hers and\" to \"hers, and\", inserting a comma after \"hers\". The core punctuation correction is captured exactly with no deviation."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core punctuation insertion (a comma after \"hers\"). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both edits change \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The original and corrected text are identical between ground truth and prediction, capturing the core intended punctuation change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original segment (\"beautiful that\") and the same corrected segment (\"beautiful, that\"), capturing the intended insertion of a comma after \"beautiful.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth change is from \"they\" to \"They\" (capitalizing the first letter). The predicted edit makes the identical change, capturing the core intended correction with no discrepancy.\n\nTherefore, the prediction correctly matches both the edit type and the essential text change."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "papa",
            "corrected_text": "Papa",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:28.187591",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:45:43.623403",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original phrase (\"hers and\") and the same correction (\"hers, and\"), capturing the intended insertion of a comma after \"hers\". Therefore, the prediction fully matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" The core change is identical with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change the phrase \"moment with\" to \"moment, with\", inserting a comma after \"moment\". This captures the same core punctuation correction with identical original and corrected text. Therefore the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that\". The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify changing \"they\" to \"They\", capturing the identical core correction (capitalizing the initial letter). No discrepancies in original or corrected text. Therefore, the predicted edit matches the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:42.631702",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:44:11.726827",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change, inserting a comma after \"hers\" in the phrase \"hers and\" to make it \"hers, and\". The core punctuation change is identical. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"hers matters\" to \"hers, matters\" by inserting a comma after \"hers.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"moment with\") and the same corrected text (\"moment, with\"), capturing the identical core change\u2014adding a comma after \"moment.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\", yielding \"beautiful, that\". The original_text and corrected_text match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they are to be married",
            "corrected_text": "They are to be married",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth changes \"they\" to \"They\" (capitalizing the initial 't'). The prediction applies the same core change, capitalizing \"they\" to \"They,\" while including additional surrounding words (\"are to be married\"). This extra context does not alter the essential edit and correctly captures the intended capitalization correction."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:43.397261",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:33:27.640502",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly.\n\nText Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". The core change is identical, and there is no discrepancy in the words being replaced or the replacement text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you,",
            "corrected_text": "you",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:40.968161",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:45:53.576981",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"fancy, whatever\") and the same corrected text (\"fancy whatever\"), capturing the intended removal of the comma. Therefore, the predicted edit matches the ground truth in both type and core textual change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once",
            "corrected_text": "than once",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction are \"replacement\" edits, so the type matches exactly.\n2. Text Content Accuracy: The ground truth changes \"that\" to \"than\". The predicted edit changes \"that once\" to \"than once\", which includes additional surrounding context but preserves the same core correction (\"that\" \u2192 \"than\"). Therefore, it correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore, and",
            "corrected_text": "shore and",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within-doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:48.860028",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:44:41.275580",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "than once were",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: The ground truth intends to change the word \"that\" to \"than\". The prediction performs the same core substitution, but includes additional surrounding context (\"once were\") on both sides. Since the essential change is still \"that\" \u2192 \"than\", the prediction correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:36:58.862216",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:33:15.966267",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"city\" to \"City\" with no differences in original or corrected text. The essential edit is captured precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it; to",
            "corrected_text": "it, to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still; to",
            "corrected_text": "stand-still, to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence; is",
            "corrected_text": "existence, is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence, at",
            "corrected_text": "existence; at",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless, when",
            "corrected_text": "motionless; when",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view, by",
            "corrected_text": "view; by",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:37:01.594609",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:45:48.056769",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same change from \"city\" to \"City\". The core correction (capitalizing the first letter) is captured precisely with no discrepancy.\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the edit type matches exactly.\n2) Text Content Accuracy: Both indicate replacing \"of\" with \"to\". The core textual change is identical, with no discrepancy in original or corrected text. Therefore, the prediction captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still;",
            "corrected_text": "stand-still,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:37:03.459604",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:44:26.001792",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify changing \"city\" to \"City\", capturing the identical core correction (capitalizing the initial letter). No discrepancy in original or corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the types match exactly. Text Content Accuracy: Both replace the original text \"of\" with the corrected text \"to\". The core change is identical with no discrepancy. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them;",
            "corrected_text": "them,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it;",
            "corrected_text": "it,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still;",
            "corrected_text": "stand-still,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence;",
            "corrected_text": "existence,",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:37:13.602416",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:33:17.513985",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both identify the same original text (\"authorize\") and the same corrected text (\"authorise\"), capturing the identical core change from American to British spelling. No discrepancies or missing elements are present."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now, I",
            "corrected_text": "now I",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty; sticking",
            "corrected_text": "twenty, sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now,",
            "corrected_text": "now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you,",
            "corrected_text": "you",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:37:16.915571",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:45:53.894964",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2. Text Content Accuracy: Both specify the same original text (\"authorize\") and the same corrected text (\"authorise\"). The core intended change\u2014switching from American to British spelling\u2014is captured exactly with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty; sticking",
            "corrected_text": "twenty, sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:37:25.083682",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:44:31.288313",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: The ground truth inserts a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The prediction performs the same core punctuation change, simply including additional surrounding words (\"now I have paid it\" \u2192 \"now, I have paid it\"). The essential edit\u2014adding a comma after \"now\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\". This captures the same core change (US to UK spelling). No discrepancies in original or corrected text are present.\nTherefore, the predicted edit correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty; sticking",
            "corrected_text": "twenty, sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:37:12.917593",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T11:33:04.829106",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr",
            "corrected_text": "For, Mr",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is the insertion of a comma after the word \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr\" \u2192 \"For, Mr\"). Although the prediction includes less surrounding context (it omits \". Pancks\"), it captures the core intended punctuation change in the correct location.\n\nTherefore, both criteria are satisfied."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change: inserting a comma after \"quickly\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me; not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:37:12.568121",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T12:45:53.308319",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the same core punctuation change in the correct location. Therefore, the predicted edit matches the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change\u2014adding a comma after \"quickly.\" Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me;, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_meta_muse_spark_1_1",
        "date": "2026-07-23T15:37:20.695531",
        "annotator": "Muse Spark 1.1",
        "annotation_date": "2026-07-23T13:44:31.603080",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction likewise inserts a comma after \"For\" in the shorter snippet \"For Mr.\" \u2192 \"For, Mr.\" Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the same core punctuation change (adding the comma after \"For\" before \"Mr.\"). Therefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change\u2014adding a comma after \"quickly\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me; not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Meta",
    "release_date": "2026-07-16",
    "release_source": "https://venturebeat.com/technology/goodbye-llama-meta-launches-new-proprietary-ai-model-muse-spark-first-since",
    "release_notes": "Muse Spark is Meta Superintelligence Labs' proprietary successor to Llama, announced 2026-04-09; the 1.1 update listed on OpenRouter 2026-07-16 is the current route."
  },
  {
    "model_name": "Muse Spark 1.3",
    "model_id": "or_meta_muse_spark_1_3",
    "date": "2026-09-10T23:17:00.514135",
    "shots": 2,
    "config": {
      "model_id": "or_meta_muse_spark_1_3",
      "display_name": "Muse Spark 1.3",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-09-10",
      "notes": "Benchmark run with 2-shot learning at high reasoning effort"
    },
    "annotator": "Muse Spark 1.3",
    "annotation_date": "2026-09-10T22:53:17.782090",
    "file_results": [
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:15.292355",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:53:17.782090",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the core intended change: inserting a comma after \"howling\". Therefore, the text change matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same correction (\"yonder, to-day\"), inserting a comma after \"yonder\". The core change is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change from \"Sir\" to \"sir\" with identical original and corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same change, inserting a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The core intended punctuation correction is captured with identical original and corrected text. Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:06.242174",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:57:13.351347",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the identical core change of inserting a comma after \"howling\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder.\" The core punctuation change is identical, with matching original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"Sir\" to \"sir,\" capturing the same core capitalization correction with identical original and corrected text.\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and\". The original and corrected text strings are identical between ground truth and prediction, so the essential edit is captured precisely."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:05.008126",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:59:17.404572",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both ground truth and prediction change \"howling over\" to \"howling, over\", inserting a comma after \"howling\". This captures the core intended punctuation change with identical original and corrected text. Therefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), inserting a comma after \"yonder\". The core punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth. Text Content Accuracy: Both ground truth and prediction change \"Sir\" to \"sir,\" capturing the identical core capitalization correction with the same original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"pockets and\" to \"pockets, and\", inserting a comma after \"pockets\". The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "FELLOW TRAVELLERS",
            "corrected_text": "FELLOW TRAVELLERS.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:04.004427",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:53:32.546578",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\n\nText Content Accuracy: Both ground truth and prediction change \"No sir\" to \"No, sir,\" inserting a comma after \"No\". This captures the same core punctuation correction with identical original and corrected text.\n\nTherefore, the prediction correctly matches the ground truth edit in both type and content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The predicted edit targets the same core change by capitalizing \"why\" \u2192 \"Why\". Although it provides less surrounding context, it captures the essential intended correction (capitalizing the first word of the sentence/phrase)."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\u201d",
            "corrected_text": "stones?\u201d",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:04.890006",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:57:05.703088",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"No sir\" and the same corrected text \"No, sir,\" capturing the identical core change (inserting a comma after \"No\"). Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction captures the same core change by capitalizing \"why\" \u2192 \"Why\". Although it provides less surrounding context, it correctly reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "!",
            "corrected_text": "?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation in \"cold stones!\" to \"cold stones?\" (i.e., \"!\" \u2192 \"?\"). The prediction specifies exactly this core change by replacing \"!\" with \"?\", even though it omits surrounding words. This still captures the essential intended correction."
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:03.998087",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:59:55.316886",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"No sir\" to \"No, sir\" (inserting a comma after \"No\"). The essential punctuation correction is identical. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\n2) Text Content Accuracy: The ground truth changes the initial word \"why\" to \"Why\" at the start of the phrase \"why did he dine\" \u2192 \"Why did he dine.\" The predicted edit captures this same core change (lowercase \"why\" \u2192 capitalized \"Why\"), even though it includes less surrounding context. The essential intended correction\u2014capitalizing the first word\u2014is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\u201d",
            "corrected_text": "\u2019",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:04.653969",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:53:17.790091",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he,\" which capitalizes the initial \"if\". The prediction changes \"if\" to \"If,\" capturing the same core capitalization change, just with less surrounding context. Since the essential modification (lowercase to uppercase 'I' in 'if') is correctly represented, the text content matches the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The prediction captures the core intended change by replacing \"said\" \u2192 \"asked.\" Although it omits the surrounding word \"Clennam\" in the original/corrected text fields, it still reflects the essential substitution the ground truth indicates. Therefore, the content matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:04.961672",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:57:06.035629",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same essential change by capitalizing \"if\" \u2192 \"If\". Although it omits the following word \"he\" as context, it still correctly represents the core correction (capitalizing the initial 'i' in 'if')."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction replaces \"said\" with \"asked\" without including the unchanged context word \"Clennam\". This still captures the core intended change (the word substitution \"said\" \u2192 \"asked\"), and omission of surrounding unchanged context is acceptable under the criteria.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:04.562301",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T23:01:25.683997",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"if\" at the start of the phrase \"if he\" (\"if he\" \u2192 \"If he\"). The prediction captures the same core change by capitalizing \"if\" (\"if\" \u2192 \"If\"). Although it includes less surrounding context (it omits \"he\"), the essential intended edit\u2014capitalizing \"if\"\u2014is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are a \"replacement\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said Clennam\" to \"asked Clennam\", which fundamentally is replacing the word \"said\" with \"asked\" while keeping \"Clennam\" unchanged. The prediction replaces \"said\" with \"asked\" without including the trailing context \"Clennam\", but it still captures the core intended change (said \u2192 asked). Additional context is optional, so this is considered correct."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:38.467354",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:53:24.163860",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"high road\" \u2192 \"high-road\" (inserting a hyphen). The core intended change is captured precisely with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"materials\" in the phrase, converting \"materials costing\" to \"materials, costing.\" The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"about\" to convert \"about and\" into \"about, and\". The original and corrected text strings are identical between ground truth and prediction, so the intended edit is captured correctly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion, did",
            "corrected_text": "tion did",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\n2) Text Content Accuracy: The ground truth removes the comma between \"association\" and \"did\" (\"association, did\" \u2192 \"association did\"). The prediction removes the comma in the same location but with less left-context (\"tion, did\" \u2192 \"tion did\"). Despite the truncated word fragment, the core intended change\u2014deleting the comma before \"did\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same change from \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". The core punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text \"said when\" and the same corrected text \"said, when\", capturing the identical core change (inserting a comma after \"said\"). Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and said",
            "corrected_text": "and said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"said\" (\"said\" \u2192 \"said,\"). The prediction applies the same core punctuation change within a slightly larger context (\"and said\" \u2192 \"and said,\"). This preserves the essential intended edit\u2014placing a comma immediately after \"said\"\u2014so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". The core change is identical, so the text content matches the ground truth intention."
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:41.977929",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:57:17.017165",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"about\" in the phrase \"about and\" to make it \"about, and\". The original and corrected texts match the ground truth intention precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tion, did",
            "corrected_text": "tion did",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth removes a comma between \u201cassociation\u201d and \u201cdid\u201d (\"association, did\" \u2192 \"association did\"). The prediction removes the same comma but with less left-context (\"tion, did\" \u2192 \"tion did\"). Despite the truncated word fragment, the core intended change\u2014deleting the comma before \u201cdid\u201d\u2014is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"earnestly telling\" to \"earnestly, telling\", i.e., inserting a comma after \"earnestly\". The core punctuation correction is captured identically.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change, inserting a comma after \"said\" (\"said when\" \u2192 \"said, when\"). The corrected text matches the ground truth exactly, capturing the intended punctuation change."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\nText Content Accuracy: Both specify the same core change: adding a comma after \"said\" (\"said\" \u2192 \"said,\"). There is no difference in the original or corrected text content. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change, inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The core punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "highroad",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:36.913935",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:59:25.205779",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction change \"high road\" to \"high-road,\" correctly capturing the intended hyphenation change with identical original and corrected text. Therefore, the prediction matches the ground truth in both type and core content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"materials costing\" to \"materials, costing\" by inserting a comma after \"materials\". The core punctuation change is identical. Therefore the prediction fully matches the ground truth intent."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"about and\" \u2192 \"about, and\", inserting a comma after \"about\". This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction remove the comma in \"association, did\" to produce \"association did.\" The core change is identical with no discrepancies. Therefore, the prediction correctly captures the intended edit."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"earnestly telling\" to \"earnestly, telling\" (inserting a comma after \"earnestly\"). The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"said when\" to \"said, when\" by inserting a comma after \"said.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same core change: \"said\" \u2192 \"said,\" (adding a comma). The corrected text matches the ground truth precisely. Therefore, the predicted edit captures the intended correction."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\" by inserting a comma after \"Clennam\". The core punctuation change is identical. Therefore, the predicted edit captures the ground truth intention."
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:22.262751",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:53:19.926566",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:22.536530",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:57:08.914518",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:22.539194",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:59:06.617925",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:47.641050",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:56:03.775756",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change\u2014adding a comma after \"dull.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the identical change from \"man slowly\" to \"man, slowly\", inserting a comma after \"man\". The core punctuation correction is captured precisely with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Chalons was\" to \"Chalons, was\" by inserting a comma after \"Chalons\". The core intended punctuation change is captured identically. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:43.890220",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:57:18.308073",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"man\" (\"man slowly\" \u2192 \"man, slowly\"). The original and corrected texts align exactly with the ground truth\u2019s intended punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\nText Content Accuracy: Both ground truth and prediction change \"Chalons was\" to \"Chalons, was,\" inserting a comma after \"Chalons.\" This captures the core intended correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "late dull",
            "corrected_text": "late, dull",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:55.223487",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:59:42.747308",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Let Loose\" to make it \"Let Loose.\" The original and corrected texts align perfectly with the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change\u2014adding a comma after \"dull\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"man slowly\" to \"man, slowly,\" inserting a comma after \"man.\" The core punctuation change is captured exactly with no discrepancies."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"Chalons was\" to \"Chalons, was\", inserting a comma after \"Chalons\". The core correction is identical in original and corrected text. Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:42.450761",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:53:45.270298",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches exactly.\nText Content Accuracy: Both specify the same original phrase (\"as she did\") and the same corrected phrase (\"as indeed she did\"), capturing the identical core change\u2014adding \"indeed\". Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"length said\" to \"length, said\", inserting a comma after \"length\". The core intended punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr",
            "corrected_text": "generous, Mr",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as",
            "corrected_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Oh! I have very much to ask of you.",
            "corrected_text": "Oh! I have very much to ask of you.",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:54.311523",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:57:25.244126",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core change is identical, with no discrepancies in original or corrected text. Therefore the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as",
            "corrected_text": "as indeed",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth change is inserting the word \"indeed\" after \"as\" in the phrase \"as she did,\" yielding \"as indeed she did.\" The prediction captures the same core insertion by changing \"as\" to \"as indeed.\" Although it provides less surrounding context (omitting \"she did\"), it correctly reflects the essential intended edit: inserting \"indeed\" immediately after \"as.\""
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same change from \"length said\" to \"length, said\", inserting a comma after \"length\". The core correction is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:15:49.349672",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:59:41.481375",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"heart so\") and the same correction (\"heart, so\"), inserting a comma after \"heart\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "as she",
            "corrected_text": "as indeed she",
            "observed_line_number": 27,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as an \"insertion,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"as she did\" to \"as indeed she did\"\u2014i.e., it inserts the word \"indeed\" after \"as\" and before \"she.\" The predicted edit changes \"as she\" to \"as indeed she,\" which captures the same core insertion (adding \"indeed\" in the same position). Although the prediction omits the trailing word \"did\" from its quoted context, it does not alter the essential intended correction and is consistent with a shorter span of surrounding text.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"length said\" to \"length, said\", inserting a comma after \"length\". The core intended punctuation change is identical."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:17.127145",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:53:57.197406",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change\u2014adding a comma after \"hers.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with\", inserting a comma after \"moment\". The core correction is identical in original and corrected text. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\nText Content Accuracy: Both specify the same transformation from \"beautiful that\" to \"beautiful, that\", inserting a comma after \"beautiful\". This captures the core intended punctuation change with identical original and corrected text."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify the edit type as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change the same token from \"they\" to \"They\", capturing the identical core capitalization change. No mismatch in original or corrected text content."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:13.667965",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:57:49.537976",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change: inserting a comma after \"hers.\" Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same correction (inserting a comma to make \"hers, matters\"). The core change\u2014adding a comma after \"hers\"\u2014is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"moment with\" to \"moment, with\" by inserting a comma after \"moment.\" This captures the same core punctuation correction with identical original and corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change, inserting a comma after \"beautiful\" in the phrase \"beautiful that\" \u2192 \"beautiful, that.\" The core punctuation correction is identical with no discrepancy."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify changing \"they\" to \"They\", which captures the same core capitalization correction with identical original and corrected text. Therefore, the prediction matches the ground truth\u2019s intended edit."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:16.939169",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:59:51.069162",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"hers\" in the phrase \"hers and\" to produce \"hers, and.\" The original and corrected texts are identical between ground truth and prediction, capturing the core intended punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"hers matters\" to \"hers, matters,\" inserting a comma after \"hers.\" This captures the core intended change with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"moment with\") and the same corrected_text (\"moment, with\"), inserting a comma after \"moment\". The core change is identical and fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original segment \"beautiful that\" and the same correction \"beautiful, that\", inserting a comma after \"beautiful\". The core change is identical, so the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change the same token from \"they\" to \"They,\" capturing the identical core correction. Therefore, the prediction matches the ground truth intention."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:21.469882",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:54:05.743234",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation: \"shore and\" \u2192 \"shore, and\", i.e., insertion of a comma after \"shore\". The core change is identical.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the types match exactly. 2) Text Content Accuracy: Both edits replace the original text \"that\" with the corrected text \"than\". The core intended change is identical, with no discrepancy in the words being replaced or the replacement text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:24.269579",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:58:12.495771",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"shore and\" to \"shore, and\", correctly capturing the intended insertion of a comma after \"shore\". Therefore, the prediction matches the ground truth edit in both type and core textual change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "things that",
            "corrected_text": "things than that",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:26.245457",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T23:00:13.005609",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the identical core change\u2014adding a comma after \"shore\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly. 2) Text Content Accuracy: Both specify replacing the original text \"that\" with the corrected text \"than\". The core change is identical, with no discrepancies in the words being replaced or the replacement. Therefore, the prediction accurately captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:17:00.514135",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:54:11.325746",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Chapter XXIX\" to \"Chapter XXIX.\", adding a trailing period. This captures the same core punctuation correction with identical original and corrected text. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"DREAMING\" to make it \"DREAMING.\". The original and corrected texts are identical between ground truth and prediction, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"capitalization\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: \"city\" \u2192 \"City\". There is no discrepancy in original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "return of the same",
            "corrected_text": "return to the same",
            "observed_line_number": 5,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction are labeled as a \"replacement,\" so the edit type matches.\n\n2) Text Content Accuracy: The ground truth change is replacing the word \"of\" with \"to.\" The predicted edit replaces \"return of the same\" with \"return to the same,\" which contains the same core substitution (\"of\" \u2192 \"to\") with additional surrounding context. This correctly captures the ground truth\u2019s intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them, images",
            "corrected_text": "them; images",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation immediately following \"them\" from a comma to a semicolon (\"them,\" \u2192 \"them;\"). The prediction applies the same core change within a longer span of text (\"them, images\" \u2192 \"them; images\"). This includes extra context but preserves the essential intended edit: replacing the comma after \"them\" with a semicolon.\n\nBecause both the edit type and the core punctuation change match the ground truth intention, the predicted edit is correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction also adds a comma immediately after \"existence\" within a slightly larger phrase (\"existence at\" \u2192 \"existence, at\"). This captures the same core punctuation insertion, just with extra surrounding context.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change within a slightly larger context (\"motionless when\" \u2192 \"motionless, when\"), which correctly reflects inserting a comma immediately after \"motionless.\" The additional context does not alter the essential edit."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction also inserts a comma immediately after \"view\" (\"view by\" \u2192 \"view, by\"), merely including extra surrounding context (the following word \"by\"). The essential intended punctuation change is the same.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:57.243379",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:57:56.836953",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: adding a period to \"Chapter XXIX\" to make it \"Chapter XXIX.\". The original and corrected texts are identical between ground truth and prediction, capturing the intended punctuation correction precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City.\" There is no discrepancy in the original or corrected text. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"them,\" to \"them;\". The core intended change (replacing a comma with a semicolon after \"them\") is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction likewise inserts a comma immediately after \"existence\" but includes additional surrounding context (\"existence at\" \u2192 \"existence, at\"). This captures the same core intended change (adding a comma after \"existence\")."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction adds the same comma after \"motionless\" while including extra surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This captures the core intended punctuation change accurately."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth adds a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change\u2014adding a comma immediately after \"view\"\u2014but includes additional surrounding context (\"view by\" \u2192 \"view, by\"). This still captures the essential intended correction (inserting a comma after \"view\")."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing the punctuation after \u201cexistence\u201d from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction expresses the same core change by inserting a semicolon between \u201cexistence\u201d and the following word \u201cis\u201d (\"existence is\" \u2192 \"existence; is\"). Although the predicted span includes extra surrounding context (the word \u201cis\u201d), it still captures the essential intended edit: comma after \u201cexistence\u201d should be a semicolon."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Dreaming",
            "corrected_text": "Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:49.386635",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T23:00:10.843471",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Chapter XXIX\" to \"Chapter XXIX.\" by adding a period. This captures the same core punctuation correction with identical original and corrected text.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have the type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"DREAMING\" to \"DREAMING.\", i.e., adding a period at the end of the word. The core change is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly. Text Content Accuracy: Both specify changing \"city\" to \"City\", capturing the identical core capitalization change with no discrepancy. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change, replacing \"them,\" with \"them;\". There is no discrepancy in the original or corrected text. Therefore the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change\u2014adding a comma after \"existence\"\u2014but includes additional surrounding context (\"existence at\" \u2192 \"existence, at\"). This preserves the essential intended correction (comma insertion after \"existence\"), so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it, to",
            "corrected_text": "it; to",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing the comma after \"it\" with a semicolon (\"it,\" \u2192 \"it;\"). The predicted edit replaces the comma after \"it\" with a semicolon as well, but includes additional surrounding context (\"it, to\" \u2192 \"it; to\"). This still captures the same essential punctuation change at the same location. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\n2. Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction adds the comma in the same place, expanding the span to include the following word (\"motionless when\" \u2192 \"motionless, when\"). This includes additional context but captures the same core punctuation edit.\n\nBecause both the edit type and the essential text change match the ground truth intent, the predicted edit is correct."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still, to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is replacing the comma after \"stand-still\" with a semicolon (\"stand-still,\" \u2192 \"stand-still;\"). The prediction captures the same punctuation substitution, merely including extra surrounding context (\"to\") in both the original and corrected text (\"stand-still, to\" \u2192 \"stand-still; to\"). Since the essential punctuation change is identical, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": 8,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 16,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma immediately after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change in a slightly larger context (\"view by\" \u2192 \"view, by\"), which still clearly captures the essential intention: add a comma after \"view.\" Therefore, the text content matches the ground truth\u2019s intended edit."
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": 9,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence, is",
            "corrected_text": "existence; is",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is replacing the comma after \"existence\" with a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction applies the same core punctuation change, but includes extra surrounding context (\"existence, is\" \u2192 \"existence; is\"). This preserves the essential intended edit (comma to semicolon at the same location), so the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:52.454052",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:54:37.783291",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have",
            "corrected_text": "now, I have",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The core intended change in the ground truth is inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The predicted edit likewise inserts a comma after \"now\" (\"now I have\" \u2192 \"now, I have\"). The prediction includes extra surrounding context (adds \"have\"), but it preserves the same essential punctuation correction at the same location. Therefore it correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\", capturing the identical core change (American to British spelling). There is no discrepancy in the original or corrected text. Therefore, the prediction matches the ground truth's intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you, now",
            "corrected_text": "you now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to break",
            "corrected_text": "now, to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty; sticking",
            "corrected_text": "twenty, sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:56.036431",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:58:06.754375",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"now\" in the phrase \"now I\" \u2192 \"now, I.\" The prediction applies the same core punctuation change (adding a comma after \"now\") within a longer span of surrounding text: \"now I have paid it\" \u2192 \"now, I have paid it.\" This preserves the essential intended edit while including additional context, which is acceptable."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\", capturing the same core spelling change. No divergence in original or corrected text content."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said Clennam; \"not",
            "corrected_text": "said Clennam, \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty; sticking",
            "corrected_text": "at twenty, sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now to break",
            "corrected_text": "you, now to break",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:51.314775",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T23:00:15.059080",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"now\" (\"now I\" \u2192 \"now, I\"). The original and corrected text fields are identical between ground truth and prediction, so the intended punctuation correction is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both replace the same original text \"authorize\" with the same corrected text \"authorise\". The core change (American to British spelling) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "snorts",
            "corrected_text": "of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:50.464315",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:54:17.340206",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr",
            "corrected_text": "For, Mr",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The predicted edit also inserts a comma after \"For\" (\"For Mr\" \u2192 \"For, Mr\"). Although the prediction includes less surrounding context (it omits \". Pancks\"), it still captures the core intended punctuation change at the correct location (after \"For\"). Therefore, the essential edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), inserting a comma after \"quickly.\" This captures the core intended change precisely."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "making me, not",
            "corrected_text": "making me a, not",
            "observed_line_number": 21,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as an \"insertion,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts the word \"a\" after \"me\" (\"me,\" \u2192 \"me a,\"). The prediction applies the same core change within a larger surrounding context (\"making me, not\" \u2192 \"making me a, not\"), which still clearly captures the intended insertion of \"a\" after \"me\". Additional context does not alter the essential correction.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:49.120953",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T22:58:20.258576",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr",
            "corrected_text": "For, Mr",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The predicted edit also inserts a comma after \"For\" (\"For Mr\" \u2192 \"For, Mr\"). Although the prediction includes less surrounding context (it omits \". Pancks\"), it captures the same core punctuation change at the same location, which matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". This captures the core intended change with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_meta_muse_spark_1_3",
        "date": "2026-09-10T23:16:55.189592",
        "annotator": "Muse Spark 1.3",
        "annotation_date": "2026-09-10T23:00:31.780352",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr",
            "corrected_text": "For, Mr",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so this matches exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction also inserts a comma after \"For\" (\"For Mr\" \u2192 \"For, Mr\"). Although the prediction uses a shorter text span and omits \". Pancks\", it still captures the core intended punctuation change at the correct location. Therefore, the essential edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". The core change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me, not",
            "corrected_text": "me not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Meta",
    "release_date": "2026-09-02",
    "release_source": "https://openrouter.ai/meta/muse-spark-1.3",
    "release_notes": "Meta's multimodal reasoning model for long-running agentic and coding workflows. Benchmark configuration uses high reasoning effort."
  },
  {
    "model_name": "Phi 4 Multimodal Instruct",
    "model_id": "or_phi_4_multimodal_instruct",
    "date": "2026-02-22T16:05:23.303012",
    "shots": 2,
    "config": {
      "model_id": "or_phi_4_multimodal_instruct",
      "display_name": "Phi 4 Multimodal Instruct",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Phi 4 Multimodal Instruct",
    "annotation_date": "2025-04-07T20:50:20.011903",
    "file_results": [
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:03:58.716818",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T20:50:20.011903",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:03:59.249744",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T19:50:20.645375",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:03:59.500161",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T20:51:00.236506",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:04.342770",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-08T06:47:37.538989",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:05.365408",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T19:50:40.742191",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "asked",
            "corrected_text": "asked",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:05.924815",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T20:51:22.783743",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "asked",
            "corrected_text": "asked",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:18.410039",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T19:51:22.144137",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:18.789131",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T20:52:03.432977",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:18.791120",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-08T06:53:04.397059",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:25.129331",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T19:52:24.218925",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:30.330654",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T20:52:43.209088",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:30.520706",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T19:53:07.093580",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:33.899262",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-08T06:58:17.591258",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:37.997908",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T19:53:36.321392",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "indeed",
            "corrected_text": "indeed",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I hoped so",
            "corrected_text": "I hoped so",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:37.994883",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T21:02:34.174077",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:48.685892",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T19:58:13.099414",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:56.397629",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T21:03:25.042708",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "had never seen in it before; and as he came near her, it entered his mind all at once that she was there of a set purpose to speak to him.",
            "corrected_text": "had never seen in it before; and as he came near her, it entered his",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "She gave him her hand, and said, \"You wonder to see me here by myself? But the evening is so lovely, I have rolled further than I meant at first. I thought it likely I might meet you, and that made me more confident. You always come this way, do you not?\"",
            "corrected_text": "She gave him her hand, and said, \"You wonder to see me here by myself? But the evening is so lovely, I have rolled further than I meant at first. I thought it likely I might meet you, and that made me more confident. You always come this way, do you not?\"",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "As Clennam said that it was his favourite way, he felt her hand fal-",
            "corrected_text": "As Clennam said that it was his favourite way, he felt her hand fal-",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mr. Clennam, she said, hesitating more timidly yet, and speaking so low that he bent his head to hear her. \"I should very much like to give you my confidence, if you would not mind having the goodness to receive it. I should have very much liked to have given it to you long ago, because\u2014I felt that you were becoming so much our friend.\"",
            "corrected_text": "Mr. Clennam, she said, hesitating more timidly yet, and speaking so low that he bent his head to hear her. \"I should very much like to give you my confidence, if you would not mind having the goodness to receive it. I should have very much liked to have given it to you long ago, because\u2014I felt that you were becoming so much our friend.\"",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mr. Clennam, she said, hesitating more timidly yet, and speaking so low that he bent his head to hear her. \"I should very much like to give you my confidence, if you would not mind having the goodness to receive it. I should have very much liked to have given it to you long ago, because\u2014I felt that you were becoming so much our friend.\"",
            "corrected_text": "Mr. Clennam, she said, hesitating more timidly yet, and speaking so low that he bent his head to hear her. \"I should very much like to give you my confidence, if you would not mind having the goodness to receive it. I should have very much liked to have given it to you long ago, because\u2014I felt that you were becoming so much our friend.\"",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "How can I be otherwise than proud of it at any time! Pray give it to me. Pray trust me.",
            "corrected_text": "How can I be otherwise than proud of it at any time! Pray give it to me. Pray trust me.",
            "observed_line_number": 40,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "At this, he thought directly, \"they are to be married.\"",
            "corrected_text": "At this, he thought directly, \"they are to be married.\"",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:55.404073",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T19:59:15.131655",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:53.288452",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T21:04:04.199737",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:53.341170",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T20:00:00.548298",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "the text before the edit",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "marseilles harbour",
            "corrected_text": "Marseilles Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:53.341295",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T21:04:43.504514",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:04:59.112534",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-08T07:11:15.752925",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:05:10.399552",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T20:00:39.733275",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:05:14.791677",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T21:05:43.072847",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:05:10.397312",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-08T07:11:54.471352",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:05:20.288230",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T20:01:20.535672",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:05:21.870738",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-07T21:06:20.305218",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_phi_4_multimodal_instruct",
        "date": "2026-02-22T16:05:23.303012",
        "annotator": "Phi 4 Multimodal Instruct",
        "annotation_date": "2025-04-08T07:12:31.074752",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "was waiting to be fed looking",
            "corrected_text": "was waiting to be fed; looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Microsoft",
    "release_date": "2025-02-01",
    "release_display": "Feb 2025",
    "release_source": "https://huggingface.co/microsoft/Phi-4-multimodal-instruct",
    "release_notes": "Official Microsoft model card lists February 2025; exact day was not available from the source used."
  },
  {
    "model_name": "Qwen VL Max",
    "model_id": "or_qwen_vl_max",
    "date": "2026-02-22T16:09:47.876195",
    "shots": 2,
    "config": {
      "model_id": "or_qwen_vl_max",
      "display_name": "Qwen VL Max",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Qwen VL Max",
    "annotation_date": "2025-04-07T19:55:48.683447",
    "file_results": [
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:03.485828",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T19:55:48.683447",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "over yonder to-day",
            "corrected_text": "over yonder, to-day",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"yonder\" (\"yonder to-day\" \u2192 \"yonder, to-day\"). The predicted edit makes the same core punctuation change\u2014adding a comma after \"yonder\"\u2014but includes extra surrounding context (\"over yonder to-day\" \u2192 \"over yonder, to-day\"). Since the essential modification is identical, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "I have heard none",
            "corrected_text": "I have heard none.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "When these people howl, they howl to be heard",
            "corrected_text": "When these people howl, they howl to be heard.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Ah! but these people are always howling. Never happy otherwise",
            "corrected_text": "Ah! but these people are always howling. Never happy otherwise.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Do you mean the Marseilles people",
            "corrected_text": "Do you mean the Marseilles people?",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "As to Marseilles, we know what Marseilles is",
            "corrected_text": "As to Marseilles, we know what Marseilles is.",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "It sent the most insurrectionary tune into the world that was ever composed. It couldn\u2019t exist without alllonging and marshonging to something or other \u2014victory or death, or blazes, or something",
            "corrected_text": "It sent the most insurrectionary tune into the world that was ever composed. It couldn\u2019t exist without alllonging and marshonging to something or other \u2014victory or death, or blazes, or something.",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "It would be more creditable to you, I think, to let other people alllong and marshong about their lawful business, instead of shutting 'em up in quarantine",
            "corrected_text": "It would be more creditable to you, I think, to let other people alllong and marshong about their lawful business, instead of shutting 'em up in quarantine!",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "But we shall be out to-day",
            "corrected_text": "But we shall be out to-day.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Out to-day!",
            "corrected_text": "Out to-day!",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "It's almost an aggravation of the enormity, that we shall be out to-day. Out! What have we ever been in for",
            "corrected_text": "It's almost an aggravation of the enormity, that we shall be out to-day. Out! What have we ever been in for?",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "The speaker, with a whimsical good humour upon him all the time, looked over the parapet-wall with the greatest disparagement of Marseilles; and taking up a determined position by putting his hands in his pockets and rattling his money at it, apostrophised it with a short laugh",
            "corrected_text": "The speaker, with a whimsical good humour upon him all the time, looked over the parapet-wall with the greatest disparagement of Marseilles; and taking up a determined position by putting his hands in his pockets and rattling his money at it, apostrophised it with a short laugh.",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:02.582069",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T22:02:35.833933",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day.",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day!",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:04.420840",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-08T06:04:43.061550",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:06.287005",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T19:56:20.783903",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "CAP",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "exaggeration",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "mask",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:10.578459",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T22:03:02.824485",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "CAP",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "imagination",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "mock",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "why did he dine",
            "corrected_text": "why did he dine to-day",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:10.520947",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-08T06:05:07.524659",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "examination mark",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Why did he dine to-day, and leave this little creature to the mercy of the cold stones?",
            "corrected_text": "Why did he dine to-day, and leave this little creature to the mercy of the cold stones?",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:19.639928",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T19:56:51.315202",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "if",
            "corrected_text": "if he",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "if he",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam.",
            "corrected_text": "asked Clennam.",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:23.214968",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T22:03:30.435274",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "if",
            "corrected_text": "if I",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "can",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Hadn\u2019t he better let it go?",
            "corrected_text": "Hadn\u2019t he better let it go?",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "asked",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:31.610878",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-08T06:05:32.454555",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "if",
            "corrected_text": "if he",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said Clennam.",
            "corrected_text": "asked Clennam.",
            "observed_line_number": 43,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "if he",
            "observed_line_number": 42,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:40.462364",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T19:57:23.410399",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "costing",
            "corrected_text": "costing",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and",
            "corrected_text": "and",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:32.252066",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T22:03:52.744105",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:46.195579",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-08T06:05:57.748111",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when\". The predicted edit \"said\" \u2192 \"said,\" captures the same core punctuation change (adding a comma immediately after \"said\"). Although the prediction does not include the following word \"when\", it still accurately represents the essential intended correction: placing a comma after \"said\" before the next word."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and",
            "corrected_text": "and,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:32.861463",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T19:57:48.686984",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: adding a period to \"Sun and Shadow\" to become \"Sun and Shadow.\" This captures the core intended correction with identical original and corrected text."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:31.468942",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T22:04:16.824744",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"Sun and Shadow\" to \"Sun and Shadow.\" (adding a period). The core punctuation change is identical."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:49.442430",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-08T06:06:20.111346",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly. 2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core intended punctuation change is captured exactly."
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:48.240422",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T19:58:18.943264",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar trees",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons,was",
            "corrected_text": "Chalons was",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "footsores,",
            "corrected_text": "footsores",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:48.239565",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T22:04:44.200782",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar trees",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons,was",
            "corrected_text": "Chalons was",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "footsore,",
            "corrected_text": "footsore",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:48.239512",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-08T06:06:44.887354",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar-trees",
            "corrected_text": "poplar trees",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons,was",
            "corrected_text": "Chalons was",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "footsores,",
            "corrected_text": "footsores",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:58.636617",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T19:58:50.638705",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "from her heart",
            "corrected_text": "from her heart (as she did, if it be the source of earnestness)",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "That's well! I hope so; I am not disappointed.",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "said",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:08:59.286443",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T22:05:11.397532",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "from her heart",
            "corrected_text": "from her heart (as she did, if it be the source of earnestness)",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:09.104240",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-08T06:07:11.599495",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "from her heart",
            "corrected_text": "from her heart (as she did, if it be the source of earnestness)",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:05.714058",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T19:59:20.186382",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Civita Vecchia. So",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "At this, he thought directly,",
            "corrected_text": "At this, he thought directly,",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "they are to be married.",
            "corrected_text": "they are to be married.",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:13.631878",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T22:05:35.623530",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "they are to be married",
            "corrected_text": "they are to be married",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:14.892032",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-08T06:07:34.070071",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "they are to be married",
            "corrected_text": "they are to be married.",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:14.027105",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T19:59:51.274435",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "The lights were bright within-doors when he entered",
            "corrected_text": "The lights were bright within-doors when he entered,",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "that once were than",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy whatever Pet was, the other was",
            "corrected_text": "in our fancy whatever Pet was, the other was",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:25.806950",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T22:06:03.168707",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "The lights were bright within-doors when he entered",
            "corrected_text": "The lights were bright within-doors when he entered",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "than once were",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy whatever Pet was, the other was",
            "corrected_text": "in our fancy whatever Pet was, the other was",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:33.716362",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-08T06:08:03.190641",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "The lights were bright within-doors when he entered, and the faces on which they shone, his own face not excepted, were soon quietly cheerful.",
            "corrected_text": "The lights were bright within-doors when he entered, and the faces on which they shone, his own face not excepted, were soon quietly cheerful.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that once were",
            "corrected_text": "than once were",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy whatever Pet was, the other was",
            "corrected_text": "in our fancy whatever Pet was, the other was",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Thank you",
            "corrected_text": "Thank you,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:29.954206",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T20:00:46.027126",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence",
            "corrected_text": "benevolence",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:36.260604",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T22:06:48.134111",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence",
            "corrected_text": "benevolence",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:42.017557",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-08T06:08:47.798457",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "driest of snorts",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:41.763093",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T20:01:17.763383",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Rugg",
            "corrected_text": "Rugg",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "check",
            "corrected_text": "check",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bedx",
            "corrected_text": "bed",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:34.984307",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-07T22:07:55.041528",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen_vl_max",
        "date": "2026-02-22T16:09:47.876195",
        "annotator": "Qwen VL Max",
        "annotation_date": "2025-04-08T06:09:20.633852",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Rugg",
            "corrected_text": "Rugg",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Clennam",
            "corrected_text": "Clennam",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Doyce and Clennam",
            "corrected_text": "Doyce and Clennam",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Doyce and Clennam",
            "corrected_text": "Doyce and Clennam",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bedx",
            "corrected_text": "bed",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Alibaba",
    "release_date": "2024-01-25",
    "release_source": "https://qwenlm.github.io/blog/qwen-vl/"
  },
  {
    "model_name": "Qwen VL Plus",
    "model_id": "or_qwen_vl_plus",
    "date": "2026-02-22T16:11:17.791341",
    "shots": 2,
    "config": {
      "model_id": "or_qwen_vl_plus",
      "display_name": "Qwen VL Plus",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Qwen VL Plus",
    "annotation_date": "2025-04-07T20:49:15.926628",
    "file_results": [
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:09:55.178923",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T20:49:15.926628",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:09:58.287774",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T22:31:30.781311",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:00.386528",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-08T06:23:00.491616",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:00.815127",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T20:49:54.201820",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:04.381423",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T22:32:06.841068",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:00.383155",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-08T06:23:41.640846",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:01.275859",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T20:50:21.938096",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:18.909186",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T22:32:33.715324",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:18.910229",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-08T06:24:07.186875",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:18.908303",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T20:50:59.385484",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:27.219711",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T22:33:08.350334",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:18.909393",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T20:51:21.934585",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Period here",
            "corrected_text": "Period here?",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:27.443464",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T22:33:29.690756",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Period here",
            "corrected_text": "Period here?",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:28.329946",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-08T06:24:48.230702",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Period here",
            "corrected_text": "Period here?",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:38.854325",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T20:51:57.154128",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream, like a sullied looking-glass in a gloomy place, reflected the clouds heavily; and the low banks leaned over here and there, as if they were half curious, and half afraid, to see their darkening pictures in the water.",
            "corrected_text": "stream, like a sullied looking-glass in a gloomy place, reflected the clouds heavily; and the low banks leaned over here and there, as if they were half curious, and half afraid, to see their darkening pictures in the water.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the flat expanse of country about Chalons lay a long heavy streak, occasionally made a little ragged by a row of poplar-trees against the wrathful sunset.",
            "corrected_text": "the flat expanse of country about Chalons lay a long heavy streak, occasionally made a little ragged by a row of poplar-trees against the wrathful sunset.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man, slowly moving on towards Chalons, was the only visible figure in the landscape.",
            "corrected_text": "One man, slowly moving on towards Chalons, was the only visible figure in the landscape.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cain might have looked as lonely and avoided.",
            "corrected_text": "Cain might have looked as lonely and avoided.",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with an old sheepskin knapsack at his back, and a rough, unbarred stick cut out of some wood in his hand; miry, footsore, his shoes and gaiters trodden out, his hair and beard untrimmed; the cloak he carried over his shoulder, and the clothes he wore, sodden with wet; limping along in pain and difficulty; he looked as if the clouds were hurrying from him, as if the wail of the wind and the shuddering of the grass were directed against him, as if the low mysterious splashing of the water were murmured at him, as if the fitful autumn night were disturbed by him.",
            "corrected_text": "with an old sheepskin knapsack at his back, and a rough, unbarred stick cut out of some wood in his hand; miry, footsore, his shoes and gaiters trodden out, his hair and beard untrimmed; the cloak he carried over his shoulder, and the clothes he wore, sodden with wet; limping along in pain and difficulty; he looked as if the clouds were hurrying from him, as if the wail of the wind and the shuddering of the grass were directed against him, as if the low mysterious splashing of the water were murmured at him, as if the fitful autumn night were disturbed by him.",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "He glanced here, and he glanced there, sullenly but shrinkingly; and sometimes stopped and turned about, and looked all round him.",
            "corrected_text": "He glanced here, and he glanced there, sullenly but shrinkingly; and sometimes stopped and turned about, and looked all round him.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Then he limped on again, toiling and muttering.",
            "corrected_text": "Then he limped on again, toiling and muttering.",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "To the devil with this plain that has no end! To the devil with these stones that cut like knives! To the devil with this dismal darkness, wrapping itself about one with a chill! I hate you!",
            "corrected_text": "To the devil with this plain that has no end! To the devil with these stones that cut like knives! To the devil with this dismal darkness, wrapping itself about one with a chill! I hate you!",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "On the banks of the river Saone it was wet, depressing, solitary; and the night deepened fast.",
            "corrected_text": "On the banks of the river Saone it was wet, depressing, solitary; and the night deepened fast.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:42.521737",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T22:34:04.172216",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream, like a sullied looking-glass in a gloomy place, reflected the clouds heavily",
            "corrected_text": "stream, like a sullied looking-glass in a gloomy place, reflected the clouds heavily",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the low banks leaned over here and there, as if they were half curious, and half afraid, to see their darkening pictures in the water",
            "corrected_text": "the low banks leaned over here and there, as if they were half curious, and half afraid, to see their darkening pictures in the water",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the flat expanse of country about Chalons lay a long heavy streak, occasionally made a little ragged by a row of poplar-trees against the wrathful sunset",
            "corrected_text": "the flat expanse of country about Chalons lay a long heavy streak, occasionally made a little ragged by a row of poplar-trees against the wrathful sunset",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cain might have looked as lonely and avoided",
            "corrected_text": "Cain might have looked as lonely and avoided",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with an old sheepskin knapsack at his back, and a rough, unbarred stick cut out of some wood in his hand; miry, footsore, his shoes and gaiters trodden out, his hair and beard untrimmed; the cloak he carried over his shoulder, and the clothes he wore, sodden with wet; limping along in pain and difficulty; he looked as if the clouds were hurrying from him, as if the wail of the wind and the shuddering of the grass were directed against him, as if the low mysterious splashing of the water were directed against him, as if the fitful autumn night were disturbed by him",
            "corrected_text": "with an old sheepskin knapsack at his back, and a rough, unbarred stick cut out of some wood in his hand; miry, footsore, his shoes and gaiters trodden out, his hair and beard untrimmed; the cloak he carried over his shoulder, and the clothes he wore, sodden with wet; limping along in pain and difficulty; he looked as if the clouds were hurrying from him, as if the wail of the wind and the shuddering of the grass were directed against him, as if the low mysterious splashing of the water were directed against him, as if the fitful autumn night were disturbed by him",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "He glanced here, and he glanced there, sullenly but shrinkingly; and sometimes stopped and turned about, and looked all round him",
            "corrected_text": "He glanced here, and he glanced there, sullenly but shrinkingly; and sometimes stopped and turned about, and looked all round him",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Then he limped on again, toiling and muttering",
            "corrected_text": "Then he limped on again, toiling and muttering",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "To the devil with this plain that has no end! To the devil with these stones that cut like knives! To the devil with this dismal darkness, wrapping itself about one with a chill! I hate you!",
            "corrected_text": "To the devil with this plain that has no end! To the devil with these stones that cut like knives! To the devil with this dismal darkness, wrapping itself about one with a chill! I hate you!",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "On the banks of the river Saone it was wet, depressing, solitary; and the night deepened fast",
            "corrected_text": "On the banks of the river Saone it was wet, depressing, solitary; and the night deepened fast",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly moving on towards Chalons, was the only visible figure in the landscape",
            "corrected_text": "One man slowly moving on towards Chalons, was the only visible figure in the landscape",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:41.203882",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-08T06:25:22.349845",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream, like a sullied looking-glass in a gloomy place, reflected the clouds heavily",
            "corrected_text": "stream, like a sullied looking-glass in a gloomy place, reflected the clouds heavily",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the low banks leaned over here and there, as if they were half curious, and half afraid, to see their darkening pictures in the water",
            "corrected_text": "the low banks leaned over here and there, as if they were half curious, and half afraid, to see their darkening pictures in the water",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "the flat expanse of country about Chalons lay a long heavy streak, occasionally made a little ragged by a row of poplar-trees against the wrathful sunset",
            "corrected_text": "the flat expanse of country about Chalons lay a long heavy streak, occasionally made a little ragged by a row of poplar-trees against the wrathful sunset",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Cain might have looked as lonely and avoided",
            "corrected_text": "Cain might have looked as lonely and avoided",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "with an old sheepskin knapsack at his back, and a rough, unbarred stick cut out of some wood in his hand; miry, footsore, his shoes and gaiters trodden out, his hair and beard untrimmed; the cloak he carried over his shoulder, and the clothes he wore, sodden with wet; limping along in pain and difficulty; he looked as if the clouds were hurrying from him, as if the wail of the wind and the shuddering of the grass were directed against him, as if the low mysterious splashing of the water were directed against him, as if the fitful autumn night were disturbed by him",
            "corrected_text": "with an old sheepskin knapsack at his back, and a rough, unbarred stick cut out of some wood in his hand; miry, footsore, his shoes and gaiters trodden out, his hair and beard untrimmed; the cloak he carried over his shoulder, and the clothes he wore, sodden with wet; limping along in pain and difficulty; he looked as if the clouds were hurrying from him, as if the wail of the wind and the shuddering of the grass were directed against him, as if the low mysterious splashing of the water were directed against him, as if the fitful autumn night were disturbed by him",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "He glanced here, and he glanced there, sullenly but shrinkingly; and sometimes stopped and turned about, and looked all round him",
            "corrected_text": "He glanced here, and he glanced there, sullenly but shrinkingly; and sometimes stopped and turned about, and looked all round him",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Then he limped on again, toiling and muttering",
            "corrected_text": "Then he limped on again, toiling and muttering",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "To the devil with this plain that has no end! To the devil with these stones that cut like knives! To the devil with this dismal darkness, wrapping itself about one with a chill! I hate you!",
            "corrected_text": "To the devil with this plain that has no end! To the devil with these stones that cut like knives! To the devil with this dismal darkness, wrapping itself about one with a chill! I hate you!",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "On the banks of the river Saone it was wet, depressing, solitary; and the night deepened fast",
            "corrected_text": "On the banks of the river Saone it was wet, depressing, solitary; and the night deepened fast",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man slowly moving on towards Chalons, was the only visible figure in the landscape",
            "corrected_text": "One man slowly moving on towards Chalons, was the only visible figure in the landscape",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:35.272460",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T20:52:35.940844",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:35.271398",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T22:34:40.746607",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:44.132738",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-08T06:25:58.537157",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:44.133841",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T20:53:14.254765",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:53.096107",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T22:35:17.275671",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:56.479235",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-08T06:26:33.307052",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:10:53.091885",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T20:53:51.810785",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:11:04.037382",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T22:35:53.243479",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:11:04.036048",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-08T06:27:09.827240",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:11:05.949947",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T20:54:51.812676",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:11:05.950394",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T22:36:49.828450",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:11:05.515612",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-08T06:28:05.109941",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:11:08.985874",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T20:55:37.250898",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:11:08.985294",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-07T22:37:09.090103",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen_vl_plus",
        "date": "2026-02-22T16:11:17.791341",
        "annotator": "Qwen VL Plus",
        "annotation_date": "2025-04-08T06:28:25.318453",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Alibaba",
    "release_date": "2024-01-25",
    "release_source": "https://qwenlm.github.io/blog/qwen-vl/"
  },
  {
    "model_name": "Qwen2.5 VL 72B Instruct",
    "model_id": "or_qwen2_5_vl_72b_instruct",
    "date": "2026-02-22T16:07:53.308392",
    "shots": 2,
    "config": {
      "model_id": "or_qwen2_5_vl_72b_instruct",
      "display_name": "Qwen2.5 VL 72B Instruct",
      "shots": 2,
      "temperature": 0.0,
      "date": "2025-04-08",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Qwen2.5 VL 72B Instruct",
    "annotation_date": "2025-04-07T23:55:14.302404",
    "file_results": [
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:05:26.297996",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T23:55:14.302404",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:05:27.037396",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:06:11.220976",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:05:32.248653",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T19:11:37.163097",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Why",
            "corrected_text": "why",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "cap",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "question mark",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:05:48.587251",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T23:56:08.895060",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Why",
            "corrected_text": "why",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "cap",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "question mark",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:05:54.823657",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:06:41.662153",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Why",
            "corrected_text": "why",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "cap",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "question mark",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:05:48.729351",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T19:12:07.481519",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "said",
            "corrected_text": "",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "asked",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "can",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:05:50.491210",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T23:56:39.336786",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "said",
            "corrected_text": "",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "asked",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "can",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:05:52.315052",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:07:21.871463",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "said",
            "corrected_text": "",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "asked",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "can",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:05:58.267396",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T19:12:38.165588",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam",
            "corrected_text": "Clennam,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "X",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:04.782322",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T23:57:47.668410",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "came to no haven",
            "corrected_text": "came to no haven.",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion",
            "corrected_text": "",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on her behalf",
            "corrected_text": "on her behalf,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in amazement",
            "corrected_text": "Clennam, in amazement",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:10.089091",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:07:50.430499",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in amazement",
            "corrected_text": "in amazement,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "X",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:03.151861",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T19:13:04.635743",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SHADOW",
            "corrected_text": "SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:16.270149",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T23:58:12.751323",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SHADOW",
            "corrected_text": "SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:17.668636",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:08:38.677527",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SHADOW",
            "corrected_text": "SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:28.761870",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T19:13:31.326094",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "hyphen",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "ed",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:32.897262",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T23:58:36.650705",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "hyphen",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "ed",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:36.197710",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:09:28.933953",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "hyphen",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "ed",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:40.696602",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T19:14:00.424041",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "so",
            "corrected_text": "",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:48.788819",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T23:59:12.242279",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "so",
            "corrected_text": "",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:49.388251",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:09:58.749826",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "indeed",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "so",
            "corrected_text": "",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "I hoped so",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:48.347211",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T19:14:24.026790",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Cap",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "T",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:06:53.128916",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T23:59:59.622874",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Cap",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "T",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:00.826112",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:10:46.181068",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Cap",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "T",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:08.403748",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T19:14:55.858179",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you!",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "within-doors",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "than",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:14.232118",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T00:00:50.628909",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "within-doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:14.458935",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:11:37.923693",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you!",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "Thank you,",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "within-doors",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:48.305336",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T19:15:30.922827",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth change is \"city\" \u2192 \"City\". The predicted edit makes the same core change with the same original and corrected text. Line numbers are to be ignored, so the line_number difference does not affect correctness.\n\nBecause both the edit type and the essential text change match the ground truth intention, the prediction is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "return",
            "corrected_text": "return of",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "still",
            "corrected_text": "still;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege",
            "corrected_text": "liege lord",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:35.373469",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T00:01:53.290022",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth type.\n\nText Content Accuracy: The ground truth change is \"city\" \u2192 \"City\". The predicted edit also changes \"city\" \u2192 \"City\", capturing the same core correction. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "familiar with them",
            "corrected_text": "familiar with them;",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches.\n\n2) Text Content Accuracy: The ground truth changes the punctuation immediately after \"them\" from a comma to a semicolon (\"them,\" \u2192 \"them;\"). The predicted edit applies the same core punctuation outcome by making the text end with a semicolon after \"them\" (\"familiar with them\" \u2192 \"familiar with them;\"). Although the prediction includes more surrounding context and does not explicitly show the comma in its \"original_text\" span, it still captures the essential intended change: the punctuation following \"them\" should be a semicolon."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at the hour when we were personally sequestered from it",
            "corrected_text": "existence at the hour when we were personally sequestered from it;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when we were brought to a stand-still",
            "corrected_text": "motionless when we were brought to a stand-still;",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by any larger standard than the shrunken one of our own uniform and contracted existence",
            "corrected_text": "view by any larger standard than the shrunken one of our own uniform and contracted existence;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:28.105810",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:12:14.874742",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n2) Text Content Accuracy: Both specify changing \"city\" to \"City\", which captures the same core capitalization correction. Ignoring line numbers as instructed, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at the hour when we were personally sequestered from it",
            "corrected_text": "existence at the hour when we were personally sequestered from it;",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when we were brought to a stand-still",
            "corrected_text": "motionless when we were brought to a stand-still;",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "to",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "familiar with them",
            "corrected_text": "familiar with them;",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by any larger standard than the shrunken one of our own uniform and contracted existence",
            "corrected_text": "view by any larger standard than the shrunken one of our own uniform and contracted existence;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:23.035774",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T19:15:58.215566",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "of",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:37.633854",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T00:02:41.887555",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:39.768814",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:13:09.154884",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the driest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:41.744019",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-07T19:16:50.373845",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "a",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:41.473121",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T00:03:35.635839",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "a",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen2_5_vl_72b_instruct",
        "date": "2026-02-22T16:07:53.308392",
        "annotator": "Qwen2.5 VL 72B Instruct",
        "annotation_date": "2025-04-08T08:13:52.038058",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "a",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed",
            "corrected_text": "",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "",
            "corrected_text": "room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Alibaba",
    "release_date": "2025-01-26",
    "release_source": "https://qwenlm.github.io/blog/qwen2.5-vl/"
  },
  {
    "model_name": "Qwen3.5 397B A17B",
    "model_id": "or_qwen3_5_397b_a17b",
    "date": "2026-02-22T12:11:33.139811",
    "shots": 2,
    "config": {
      "model_id": "or_qwen3_5_397b_a17b",
      "display_name": "Qwen3.5 397B A17B",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-02-22",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Qwen3.5 397B A17B",
    "annotation_date": "2026-02-22T11:20:05.590980",
    "file_results": [
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:06:09.945200",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:20:05.590980",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit captures the intention of the ground truth edit accurately. First, the edit type is 'punctuation' in both the ground truth and the prediction, which matches exactly. Second, regarding text content accuracy, the original text 'howling over' is corrected to 'howling, over' in both the ground truth and the prediction. The core change, which is the insertion of a comma between 'howling' and 'over', is present in both. While the line numbers are different, we were instructed to ignore line numbers completely for this evaluation. Therefore, the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on two key criteria: edit type accuracy and text content accuracy. \n\n1. Edit Type Accuracy: The ground truth and predicted edits both list the type as 'punctuation,' which matches exactly. Thus, the edit type is accurate.\n\n2. Text Content Accuracy: The ground truth indicates a change from 'pockets and' to 'pockets, and.' The predicted edit captures the same essential change, indicating a correction of punctuation by adding a comma after 'pockets.' While the predicted edit line number differs, such discrepancies are to be ignored per the instructions. The core change that needs to be evaluated is the insertion of the comma, which is present in both the ground truth and predicted edits.\n\nGiven that both criteria are met with perfect alignment of type and core text modification, the predicted edit is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day sir",
            "corrected_text": "yonder, to-day, sir,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:06:11.689207",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:33:26.342372",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit matches the ground truth in both critical aspects. First, the edit type is 'punctuation,' which is identical in both the ground truth and predicted edits, indicating that the type of correction has been accurately identified. Second, the text content accuracy criterion is met because the essential change from 'pockets and' to 'pockets, and' is captured correctly in both the ground truth and prediction. The insertion of a comma after 'pockets' is the CORE change intended, and it is reflected precisely in the predicted edit. The line number is explicitly mentioned to be ignored in this evaluation, and thus it does not affect the evaluation outcome. Overall, both criteria for accurate editing are satisfied, leading to a conclusion that the predicted edit is correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day sir",
            "corrected_text": "yonder, to-day, sir",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:06:11.253937",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:43:19.208364",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The evaluation focuses on two criteria: Edit Type Accuracy and Text Content Accuracy. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit classify the correction as 'punctuation'. Since the edit type matches exactly, this criterion is satisfied. \n\n2. Text Content Accuracy: Both the ground truth and predicted edits involve the correction of the text from 'howling over' to 'howling, over'. The prediction captures the core change of adding a comma correctly. Though the prediction doesn't specify the exact line number as in the ground truth, line numbers are disregarded in this evaluation. Therefore, the essential edit (the addition of a comma) is accurately captured. \n\nGiven that both criteria are met, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. For Edit Type Accuracy, both the ground truth and the predicted edit are labeled as a 'punctuation' type, which matches exactly. For Text Content Accuracy, the essential change identified by the ground truth is the insertion of a comma between 'pockets' and 'and', transforming 'pockets and' into 'pockets, and'. The predicted edit reflects this exact change as well, capturing the core alteration. Line numbers are explicitly ignored in this evaluation, so their difference does not impact correctness. Both criteria for correctness are satisfied, making the predicted edit correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day sir",
            "corrected_text": "yonder, to-day, sir,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:06:43.992550",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:22:46.455544",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No sir,",
            "corrected_text": "No, sir,",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit is evaluated based on two main criteria: edit type accuracy and text content accuracy. \n\n1. **Edit Type Accuracy**: Both the ground truth and the predicted edit have the type 'punctuation'. This means the type of edit is consistent between the ground truth and prediction, meeting the required condition for type accuracy.\n\n2. **Text Content Accuracy**: The ground truth changes 'No sir' to 'No, sir'. The predicted edit takes 'No sir,' and changes it to 'No, sir,'. Despite the original text having an added comma at the end, the core change, which is the insertion of a comma between 'No' and 'sir', is accurately captured in the prediction. The alteration elsewhere (i.e., the punctuation at the end) does not affect the correctness of capturing the essential change identified in the ground truth.\n\nSince both criteria are satisfied - with the edit type matching and the core text content change being correctly captured - the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "stones!",
            "corrected_text": "stones?",
            "observed_line_number": 28,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit matches the ground truth in terms of type and core textual change. \n\n1. Edit Type Accuracy: \n   - Both the ground truth and predicted edits are of the 'punctuation' type, indicating that the focus is on a punctuation change.\n\n2. Text Content Accuracy: \n   - The essential change identified in both the ground truth and prediction is the alteration of the punctuation mark from '!' to '?'.\n   - The prediction includes 'stones!' to 'stones?', while the ground truth includes 'cold stones!' to 'cold stones?'. The additional word 'cold' in the ground truth is context and does not change the nature of the punctuation edit itself.\n\nTherefore, the predicted edit effectively captures the core change intended by the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:06:35.611351",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:43:23.330711",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "No sir,",
            "corrected_text": "No, sir,",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit captures both the edit type and the core text content change described in the ground truth. \n\n1. **Edit Type Accuracy**: The edit type 'punctuation' matches exactly between the ground truth and the predicted edit.\n\n2. **Text Content Accuracy**: The core change in the ground truth is the insertion of a comma after 'No' in the phrase 'No sir' to become 'No, sir'. The predicted edit shows an original text of 'No sir,' and a corrected text of 'No, sir,' indicating the same core insertion of the comma after 'No'. The presence of an additional comma at the end of the predicted text does not alter the core change needed, which is the inclusion of the initial comma. Therefore, the essential punctuation change intended by the ground truth is captured correctly in the prediction.\n\nWith both criteria satisfied, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "why did he dine today, and leave this little creature to the mercy of the cold stones!",
            "corrected_text": "why did he dine today, and leave this little creature to the mercy of the cold stones?",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "cap",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "!",
            "corrected_text": "question mark",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:06:43.319405",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:48:47.392004",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. **Edit Type Accuracy**: The predicted edit type is 'capitalization', which matches exactly with the ground truth edit type of 'capitalization'. Therefore, the type is considered accurate. 2. **Text Content Accuracy**: The core change indicated by the ground truth is the capitalization of the first word 'why' to 'Why'. The predicted edit captures this essential change correctly by indicating 'why' \u2192 'Why'. Although the ground truth provides additional context ('did he dine'), the prediction accurately identifies the required change ('why' to 'Why'), which is sufficient to capture the intention of the capitalization correction. Therefore, both the edit type and text content are accurately captured, fulfilling the criteria for a correct prediction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:06:59.632243",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:23:37.680382",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:06:59.639286",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:46:04.332524",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:06:59.899743",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:44:13.197382",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:07:35.523845",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:24:39.497958",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria required for evaluation. \n\n1. **Edit Type Accuracy**: The edit type in the prediction is 'punctuation', which aligns exactly with the 'punctuation' type in the ground truth. Thus, the edit type is accurate and matches the intention of the ground truth.\n\n2. **Text Content Accuracy**: The predicted edit captures the core change specified in the ground truth by transforming 'high road' into 'high-road'. The essential punctuation change, which involves adding a hyphen between 'high' and 'road', is correctly identified in both the ground truth and the prediction. Additional context is not needed here as the original and corrected texts are the same in both cases.\n\nSince both the edit type and text content accurately reflect the intention of the ground truth edit, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately matches the ground truth in both edit type and text content. Firstly, the edit type in both the ground truth and the prediction is 'punctuation', which is an exact match. This criterion is satisfied. Secondly, the text content change is captured correctly. The ground truth changes 'materials costing' to 'materials, costing', introducing a comma. The predicted edit also reflects this same essential change from 'materials costing' to 'materials, costing'. As both criteria of edit type accuracy and text content accuracy are met, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit matches the ground truth edit in both the edit type and the text content. The edit type 'punctuation' is correctly identified in both the ground truth and the prediction. As for the text content accuracy, the essential change from 'about and' to 'about, and' is captured correctly in the predicted edit. The correction involves adding a comma, and the prediction accurately reflects this core change. Given that line numbers are to be ignored in this evaluation, the prediction is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit is correct. Both the ground truth and predicted edit have the same 'type', which is 'punctuation', so the edit type matches exactly. For text content accuracy, both the ground truth and the predicted edit indicate the change from 'earnestly telling' to 'earnestly, telling', which addresses the core change (insertion of a comma) accurately. According to the guidelines, we are to ignore line numbers, and the text content focus should be on capturing the essential change, which the prediction does. Therefore, the prediction is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit successfully matches the ground truth based on the criteria specified. Firstly, the edit type 'punctuation' is correctly identified in both the ground truth and the predicted edit, meeting the Edit Type Accuracy criterion. Secondly, regarding Text Content Accuracy, the predicted edit captures the core change illustrated in the ground truth. Both indicate the insertion of a comma between 'said' and 'when' in the phrase 'said when,' producing the corrected text 'said, when.' As the essential change intended by the ground truth is accurately captured in the predicted edit without omitting any crucial elements of the correction, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation'. Since the types match exactly, the prediction is correct in terms of edit type. \n\n2. Text Content Accuracy: Both the ground truth and the predicted edit change 'Clennam in' to 'Clennam, in', adding a comma after 'Clennam'. The correction involves the same punctuation change in both cases. Although the line numbers differ, we are instructed to ignore them. The predicted edit captures the core change accurately as identified in the ground truth. \n\nThus, the prediction correctly captures the edit intention in terms of both type and content."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:07:33.385556",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:44:52.077115",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit in terms of both criteria. For Edit Type Accuracy, both the ground truth and the predicted edit specify the same edit type, which is 'punctuation'. This indicates that the intention is to make a change in punctuation, specifically altering the way the words 'high' and 'road' are connected. For Text Content Accuracy, both the original text 'high road' and its correction to 'high-road' are identical in both the ground truth and the prediction. This demonstrates that the core change, which is converting 'high road' to 'high-road' by adding a hyphen, is accurately captured by the predicted edit. Therefore, the prediction is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both specified criteria: \n\n1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches the ground truth type.\n\n2. Text Content Accuracy: The predicted edit captures the core change identified in the ground truth. Both the ground truth and the prediction indicate a comma is added between 'materials' and 'costing', transforming 'materials costing' into 'materials, costing'. Regardless of any additional contextual words that could hypothetically precede or follow, the essential modification is accurately captured.\n\nGiven these considerations, the prediction is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly matches the ground truth edit in terms of both criteria specified. First, the edit type is 'punctuation' in both the ground truth and the predicted edit, thereby meeting the requirement for Edit Type Accuracy. Second, for Text Content Accuracy, both the ground truth and predicted edits involve changing the text 'about and' to 'about, and', which captures the essential change of adding a comma. The additional context, such as omission of surrounding words, is allowed as long as the core text change is captured correctly, which it is in this case. Therefore, the prediction accurately reflects the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit matches the ground truth edit in both key criteria: Edit Type Accuracy and Text Content Accuracy. Both the predicted and ground truth edits have an edit type of 'punctuation', indicating that the intended change involves adjusting punctuation specifically. Regarding Text Content Accuracy, the core change intended by the ground truth (insertion of a comma in 'earnestly telling' to 'earnestly, telling') is accurately captured in the predicted edit. The insertion of the comma between 'earnestly' and 'telling' is the essential component of the edit, and this is correctly reflected in the predicted edit. While line numbers are disregarded in this evaluation, all other relevant criteria are satisfied, affirming the prediction's correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit matches the ground truth in both criteria. Firstly, the edit type is 'punctuation' in both the ground truth and the predicted edit, ensuring type match accuracy. Secondly, regarding text content accuracy, both edits capture the essential change, which is the addition of a comma after the word 'said'. The predicted edit provides additional context '(comma)', but this does not alter the core change being correctly identified. Thus, the prediction is deemed correct as it aligns with the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit matches the ground truth edit in both key aspects required for evaluation. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, satisfying the requirement that the edit types must match exactly. Secondly, the corrected text change from 'Clennam in' to 'Clennam, in' is consistent between the predicted and ground truth edits. The essential change, which involves the addition of a comma after 'Clennam', is accurately captured in the predicted edit. Therefore, even with additional words or different line numbers in context, the core punctuation correction is correctly identified. Ignoring line numbers as instructed, the evaluation of type accuracy and text content accuracy leads to the conclusion that the predicted edit is indeed correct."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:07:42.109947",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:45:30.806418",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. Firstly, the edit type 'punctuation' is identical in both the ground truth and prediction. Secondly, the text content accuracy is satisfied as the core change from 'high road' to 'high-road' is exactly captured in the prediction. The essential modification, which is the addition of a hyphen between 'high' and 'road', is accurately reflected in the predicted edit. There is no discrepancy between the original and corrected text provided in the ground truth and the prediction. Therefore, the prediction is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth perfectly in both key areas for evaluation. Firstly, the edit type 'punctuation' is correctly identified and matches the ground truth edit type, meeting the Edit Type Accuracy criterion. Secondly, the text content, where the original text 'materials costing' is corrected to 'materials, costing', captures the essential change of adding a comma between 'materials' and 'costing'. This aligns with the Text Content Accuracy requirement, as the core edit identified in the ground truth is precisely replicated in the prediction. Therefore, the predicted edit is considered correct as it accurately reflects the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. First, the edit type is 'punctuation,' which matches exactly between the ground truth and prediction. This satisfies the edit type accuracy criterion. Second, the text content accuracy is also met. The ground truth specifies the change from 'about and' to 'about, and,' indicating the insertion of a comma. The predicted edit mirrors this change precisely, by also changing 'about and' to 'about, and.' Thus, the core change of inserting a comma between the words 'about' and 'and' is accurately captured by the prediction. The prediction is considered correct because both the edit type and text content align with the ground truth's intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly identifies the type as 'punctuation,' which matches the ground truth. The text content also captures the essential change from 'earnestly telling' to 'earnestly, telling,' which is the core modification indicated in the ground truth. Since both the edit type and the content are accurately represented, the prediction correctly captures the ground truth edit, even though line numbers are ignored in this evaluation."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both the ground truth edit and the predicted edit are of type 'punctuation'. The predicted edit correctly identifies that the change involves punctuation, matching the ground truth. \n\n2. Text Content Accuracy: The ground truth shows a correction from 'said' to 'said,', indicating a comma is added after 'said'. The predicted edit reflects the same change by modifying 'said' to 'said, (comma)', which indicates the insertion of a comma. Although the prediction includes additional context by explicitly stating '(comma)', it nonetheless captures the core change, which is the addition of the comma. Thus, the essential edit of adding a comma after 'said' is correctly captured. \n\nAs both criteria are accurately addressed, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 31,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly matches the intention of the ground truth edit based on the evaluation criteria. \n\n1. Edit Type Accuracy: Both the ground truth and predicted edits have the 'punctuation' type. Therefore, the edit type matches exactly between the prediction and the ground truth.\n\n2. Text Content Accuracy: The core change identified in the ground truth is the addition of a comma after 'Clennam' (i.e., 'Clennam in' becoming 'Clennam, in'). The predicted edit captures this precise change, transforming 'Clennam in' into 'Clennam, in', which demonstrates a perfect capture of the essential punctuation change in the text. Unlike the line number, which should be ignored, the core edit remains faithful to the ground truth.\n\nGiven that both the edit type and text content match appropriately, the predicted edit is correct."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:07:53.692908",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:46:07.310456",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:07:55.125296",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:46:39.831266",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:08:00.944976",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:46:45.131618",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW.",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:08:26.672645",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:49:29.409377",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches exactly with the ground truth edit type. Thus, the edit type is correct. 2. Text Content Accuracy: The ground truth shows a change from 'man slowly' to 'man, slowly', which involves the insertion of a comma after 'man'. The predicted edit captures the same core change, modifying 'man slowly' to 'man, slowly'. The essential change - the insertion of the comma - is accurately captured. Therefore, the text content accurately reflects the ground truth's intention. Although there is a discrepancy in line numbers, this is to be ignored as per the evaluation criteria. Since both criteria have been met, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The evaluation criteria specify that the correctness is based on edit type accuracy and text content accuracy, irrespective of line number discrepancies. In this case, both the ground truth and predicted edits have the type 'punctuation,' which matches exactly, satisfying the first criterion for edit type accuracy. For text content accuracy, the core change specified by the ground truth is 'Chalons was' to 'Chalons, was,' which involves inserting a comma after 'Chalons.' The predicted edit also captures the same essential change 'Chalons was' to 'Chalons, was.' Although the original text context is identical, the essential punctuation change aligns perfectly with the ground truth edit. Therefore, considering the focus only on the actual text changes, the prediction is correct according to the specified criteria."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the predicted edit are of the type 'replacement'. This matches the required edit type, fulfilling the first criterion.\n\n2. Text Content Accuracy: The core change in the ground truth is altering 'sodden' to 'soddened'. The prediction captures this essential change by transforming 'sodden with' to 'soddened with'. Although the prediction includes additional context ('with'), it maintains the fundamental transformation from 'sodden' to 'soddened'. Thus, the predicted edit correctly captures the intended correction of the ground truth.\n\nSince both criteria are satisfied, the prediction is deemed correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone The",
            "corrected_text": "Saone. The",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:08:24.448909",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:47:21.405601",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit perfectly in terms of both criteria. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit specify the type as 'punctuation.' This is a direct match, fulfilling the requirement for edit type accuracy.\n\n2. Text Content Accuracy: The essential change identified in both the ground truth and the prediction is the transformation from 'poplar trees' to 'poplar-trees,' which introduces a hyphen and a comma. The predicted correction accurately captures this exact change, and there are no discrepancies in the original or the corrected text.\n\nSince the prediction aligns with the ground truth in both criteria, it is deemed correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit matches the ground truth edit in both criteria. Firstly, the edit type accuracy is satisfied since both the ground truth and predicted edits are labeled as 'punctuation'. Secondly, the text content accuracy is also achieved as both edits correctly capture the essential change needed, which is the addition of a comma after 'Chalons'. Although the line numbers differ, the problem specifies that line numbers should be ignored. Therefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "A late",
            "corrected_text": "A late,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone.",
            "corrected_text": "river Sa\u00f4ne.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "soddenwith",
            "corrected_text": "sodden with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:08:30.163867",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:48:10.266032",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on both criteria. \n\n1. Edit Type Accuracy: The edit type in both the ground truth and the prediction is 'punctuation', which matches exactly. Thus, the predicted edit satisfies the requirement for edit type accuracy.\n\n2. Text Content Accuracy: The original text 'man slowly' is changed to 'man, slowly' in both the ground truth and the prediction. The core change, which is the addition of a comma after 'man', is accurately captured in the prediction. This means that the essential punctuation change intended by the ground truth is correctly reflected in the prediction. \n\nSince both the edit type and the text content align perfectly with the ground truth, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit. Both edits are classified as 'punctuation', which means the edit type matches perfectly. Regarding text content accuracy, the core change identified in both the ground truth and predicted edit is the insertion of a comma after 'Chalons', transforming 'Chalons was' into 'Chalons, was'. Despite the difference in line numbers, which we are ignoring for this evaluation, both edits correctly depict the same transformation in text. Consequently, the prediction satisfies both the edit type and text content accuracy criteria."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "A late dull autumn night",
            "corrected_text": "A late, dull autumn night",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:08:54.552581",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:49:07.702336",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on both criteria. \n\n1. **Edit Type Accuracy**: Both the ground truth and the predicted edit are of type 'punctuation'. The edit types match exactly, which satisfies the edit type accuracy requirement. \n\n2. **Text Content Accuracy**: The core change identified in the ground truth is from 'heart so' to 'heart, so', which involves the addition of a comma. The predicted edit mirrors this exact change with 'heart so' to 'heart, so'. Therefore, the essential edit is correctly captured by the prediction.\n\nSince the prediction correctly matches both the type and the content of the ground truth edit, the evaluation deems the predicted edit as correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 29,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit captures the intention of the ground truth edit accurately. Firstly, the edit type 'punctuation' matches exactly with the ground truth, fulfilling the requirement for Edit Type Accuracy. Secondly, for Text Content Accuracy, both the ground truth and the predicted edit focus on inserting a comma in the phrase 'length said' to make it 'length, said'. The core change, which is the addition of a comma, is correctly identified in the predicted edit. The prediction, therefore, meets both the criteria, ignoring line numbers as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart (as she did",
            "corrected_text": "indeed thanked him from her heart (as she did",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "That\u2019s well! I hope so",
            "corrected_text": "I hoped so That\u2019s well! I hope so",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:08:52.720752",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:51:47.583221",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit perfectly matches the ground truth across both criteria. \n1. Edit Type Accuracy: Both the predicted edit and the ground truth type are 'punctuation,' demonstrating that the prediction correctly identified the type of correction needed. \n2. Text Content Accuracy: The core change involved inserting a comma between 'heart' and 'so' to alter 'heart so' to 'heart, so.' The predicted edit captures this exact correction by reflecting the same change, confirming that the essential alteration was correctly identified and applied. Therefore, the prediction is correct in capturing the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. First, the edit type matches exactly as both are categorized as 'punctuation'. Second, the text content accuracy criterion is met as well. The core change identified in both the ground truth and predicted edit is the insertion of a comma to correct the text from 'length said' to 'length, said'. Since the actual alteration to the text is identical and correctly reflects the intention to add punctuation, the prediction is deemed accurate. Hence, the predicted edit is correct in both aspects required for evaluation."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 31,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit and the ground truth edit both specify a replacement type, which matches the required edit type accuracy criterion. In terms of text content accuracy, the core change from 'I hope so' to 'I hoped so' is correctly captured in the prediction. According to the instructions, adding or omitting context around the actual change doesn't affect the correctness, as long as the main edited text is accurately captured. Therefore, since both the edit type and the essential text modification match, the prediction is correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:08:58.382348",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:49:55.571600",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit based on the given criteria. \n\n1. **Edit Type Accuracy:** Both the ground truth and the prediction identify the edit type as 'punctuation'. There is a direct match, which fulfills this criterion.\n\n2. **Text Content Accuracy:** The core change from 'heart so' to 'heart, so' is correctly identified in both the ground truth and the prediction. The insertion of a comma in the predicted edit matches exactly with what the ground truth indicates. Even if there were more context words included, the essential punctuation edit remains correct.\n\nSince both criteria are satisfied, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit based on both criteria. \n\n1. Edit Type Accuracy: The edit type in both the ground truth and the predicted edit is 'punctuation.' Since the edit type matches exactly between the two, this criterion is satisfied. \n\n2. Text Content Accuracy: The ground truth indicates a change from 'length said' to 'length, said'. The predicted edit makes the same core change from 'length said' to 'length, said'. The punctuation (comma) has been correctly inserted in the predicted edit, which matches the essential change indicated in the ground truth. Additionally, differences in line numbers are explicitly stated to be ignored for this evaluation. Therefore, as the core text change of inserting the comma is correctly captured, this criterion is also satisfied. \n\nBoth criteria are met, and thus the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 31,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the evaluation criteria. \n\n1. Edit Type Accuracy: \n   - Both the ground truth and the predicted edit have the 'replacement' type. Therefore, the edit type matches exactly, satisfying the first criterion.\n\n2. Text Content Accuracy: \n   - The essential change from 'I hope so' to 'I hoped so' is correctly identified in both the ground truth and the prediction. The prediction correctly captures the CORE change intended by the ground truth, even if line numbers are disregarded, as per the instructions. The additional context is irrelevant to the evaluation, and the essential edit is present and correct.\n\nTherefore, the predicted edit is correct according to the specified evaluation criteria, focusing on edit type and text content accuracy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:09:27.637869",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:52:20.583538",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and predicted edits are of type 'punctuation'. Therefore, the edit type matches exactly, satisfying the first evaluation criterion. \n\n2. Text Content Accuracy: The ground truth edit changes 'hers and' to 'hers, and', indicating the insertion of a comma after 'hers'. The predicted edit changes 'hers' to 'hers,', which also reflects the insertion of a comma after 'hers'. Although the predicted edit includes one fewer word in its context, it captures the essential change of adding a comma after 'hers'. The prediction aligns with the intention of the ground truth edit by accurately capturing the core change. \n\nThus, the prediction correctly captures the intention of the ground truth edit based on both edit type accuracy and text content accuracy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers",
            "corrected_text": "hers,",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches exactly with the ground truth's edit type of 'punctuation'. There is no discrepancy in the type of edit being made. \n\n2. Text Content Accuracy: The core change in the ground truth is the insertion of a comma after 'hers', resulting in the change from 'hers matters' to 'hers, matters'. The predicted edit captures this core change by transforming 'hers' to 'hers,'. While the predicted text provides a narrower context, it accurately reflects the essential punctuation insertion indicated by the ground truth. The inclusion of additional words in the ground truth ('matters' in this case) is irrelevant as the punctuation change itself is precisely identified. \n\nBoth criteria are satisfied, leading to the conclusion that the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "papa",
            "corrected_text": "Papa",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment",
            "corrected_text": "moment,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful",
            "corrected_text": "beautiful,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"they",
            "corrected_text": "'they",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:09:20.531340",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:50:33.712207",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit based on both criteria provided. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit are classified under the same 'punctuation' type, indicating that the type classification is correct. \n\n2. Text Content Accuracy: The core change in both the ground truth and the predicted edit is the addition of a comma after 'hers' to correct 'hers and' to 'hers, and'. Despite potential variation in the line number, which is to be ignored in this evaluation, the essential change regarding punctuation is correctly captured. Therefore, the prediction's text content matches the ground truth's intention accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The evaluation requires checking both the edit type and the text content accuracy, ignoring the line number. \n\n1. Edit Type Accuracy: Both the ground truth and the prediction have the edit type labeled as 'punctuation'. Therefore, the edit type matches exactly.\n\n2. Text Content Accuracy: The core change required by the ground truth was to insert a comma between 'hers' and 'matters', changing 'hers matters' to 'hers, matters'. The predicted text content also captures this essential change correctly, with 'hers matters' being changed to 'hers, matters'. Additional context or surrounding text is not present in this case to evaluate, but the essential change is correctly captured in the prediction.\n\nBased on these criteria, the predicted edit accurately captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Both the ground truth and predicted edit types are 'punctuation', which means the type matches exactly, satisfying the edit type accuracy criterion. In terms of text content accuracy, both the ground truth and prediction aim to insert a comma between 'moment' and 'with', addressing the core punctuation change. While they both refer to 'moment with', which is the key text being altered, the essential edit of adding a comma remains the same in the predicted edit. Therefore, the prediction correctly reflects the intended correction as outlined by the ground truth. Line numbers are explicitly ignored in this evaluation, so they do not affect the correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit is evaluated against two main criteria: edit type accuracy and text content accuracy. \n\n1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches the edit type in the ground truth. Therefore, the edit type is accurate. \n\n2. Text Content Accuracy: The ground truth specifies a correction from 'beautiful that' to 'beautiful, that'. The predicted edit also changes 'beautiful that' to 'beautiful, that'. This correctly captures the core change specified in the ground truth. The essential edit, which involves the insertion of a comma after 'beautiful', is reflected accurately in the predicted edit. \n\nLine numbers are explicitly ignored as instructed, and there is no discrepancy in page numbers. Therefore, both the edit type and the essential text content match the ground truth's intention. Overall, the prediction is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this, he thought directly, \u201cthey",
            "corrected_text": "At this, he thought directly, \u201cThey",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:09:21.194740",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:51:28.416284",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit is correct for the following reasons: \n\n1. **Edit Type Accuracy**: The edit type in the predicted edit ('punctuation') matches exactly with the ground truth edit type ('punctuation'). Thus, this criterion is satisfied.\n\n2. **Text Content Accuracy**: The predicted edit captures the essential change that the ground truth identifies. Both the ground truth and the predicted edits indicate a change from 'hers and' to 'hers, and', adding a comma after 'hers'. Although the line numbers differ, that detail is explicitly ignored in this evaluation. The core punctuation change (insertion of a comma) is accurately reflected in both the ground truth and the prediction. Therefore, this criterion is also met.\n\nSince both criteria for evaluation are fulfilled, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly matches the ground truth in terms of type and content. First, the edit type is 'punctuation' in both the ground truth and the prediction, satisfying the edit type accuracy criterion. Second, regarding text content accuracy, the core change identified in both the ground truth and prediction is the insertion of a comma, changing 'hers matters' to 'hers, matters'. The essential edit, which is the addition of the comma, is correctly captured in the prediction. Therefore, the prediction is considered correct as it fulfills both key criteria: type and the essential change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this, he thought directly, \u201cthey",
            "corrected_text": "At this, he thought directly, \u201cThey",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:09:50.101700",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:55:38.472395",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Firstly, the edit type, 'punctuation', matches exactly between the predicted and ground truth edits. Secondly, the text content accuracy is also correct. The core change in the ground truth is the addition of a comma, changing 'shore and' to 'shore, and'. The predicted edit captures this exact change by altering the same text from 'shore and' to 'shore, and'. There is no discrepancy in the essential edit, thus the prediction is considered correct based on the criteria provided."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit captures the intention of the ground truth edit in both key aspects. Firstly, the edit type is 'replacement' in both the ground truth and the prediction, demonstrating that the prediction matches the specified type exactly. Secondly, the text content reflects the core change accurately: the model identified 'that' as the original text and 'than' as the corrected text, which corresponds directly to the change noted in the ground truth. The focus on essential transformation from 'that' to 'than' is preserved, fulfilling the text content accuracy requirement. Therefore, the prediction is correct as it aligns with the ground truth's intention when ignoring line numbers."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "now.\"",
            "corrected_text": "now.\" \"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:09:47.042386",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:52:56.765555",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly identifies the type of edit as 'punctuation', which matches the ground truth. For text content accuracy, the core change in both the ground truth and predicted edit is the addition of a comma after 'Thank you'. Despite the predicted text including quotation marks around 'Thank you', it still captures the essential punctuation change specified in the ground truth. Therefore, the predicted edit aligns with the intention of the ground truth edit in both type and content."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly identifies the edit type as 'punctuation', which matches the ground truth edit type. The text content of the predicted edit also captures the core change intended by the ground truth, changing 'shore and' to 'shore, and'. The essential change, the addition of a comma after 'shore', is present in both the ground truth and the prediction. Therefore, the prediction accurately reflects the intention of the ground truth edit. Line numbers are ignored as instructed, and they do not impact the evaluation."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in our fancy whatever",
            "corrected_text": "in our fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "things than once were",
            "corrected_text": "things that once were",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:09:52.255059",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:52:57.101317",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "\"Thank you\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 15,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly identifies the type of edit as 'punctuation,' which matches the ground truth type. Regarding text content accuracy, the ground truth edit changes 'Thank you!' to 'Thank you,', indicating a change in punctuation, specifically replacing an exclamation mark with a comma. The predicted edit, while including additional context by enclosing 'Thank you' within double quotation marks, also identifies the same core change: altering 'Thank you' to include a comma instead of an exclamation mark. Therefore, the essential alteration is correctly captured by the prediction even though it is embedded within quotes. Thus, the prediction is considered correct because both the edit type and the core change in punctuation are accurately reflected in the prediction, consistent with the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit matches the ground truth edit in both the edit type and text content. \n\n1. Edit Type Accuracy: The type is 'punctuation' in both the ground truth and the predicted edit, thus correctly identifying the necessary change as a punctuation modification.\n\n2. Text Content Accuracy: The specific change from 'shore and' to 'shore, and' is captured accurately in the prediction. While the line number is different, the task specified to ignore line numbers entirely when evaluating accuracy. Therefore, the core change of adding a comma between 'shore' and 'and' is present in the prediction, fulfilling the requirement for text content accuracy.\n\nIn conclusion, both the essential edit type and text content intentions of the ground truth are correctly captured by the prediction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "in our fancy whatever",
            "corrected_text": "in our fancy, whatever",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "things than once were",
            "corrected_text": "things that once were",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:10:26.842206",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T12:00:04.867271",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit for the following reasons: \n\n1. Edit Type Accuracy: The predicted edit specifies the type as 'capitalization', which matches exactly with the ground truth edit type. There is no discrepancy in the classification of the edit type.\n\n2. Text Content Accuracy: The ground truth edit indicates a change from 'city' to 'City', which is the core change required by the edit. The predicted edit also captures this exact change from 'city' to 'City'. Therefore, despite potential differences in context captured (e.g., words before or after the change in an expanded context), the essential correction of capitalization is correctly identified in the prediction. \n\nIgnoring the line number as instructed and focusing strictly on the criteria specified, both the edit type and text content match correctly, making the predicted edit correct according to the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 6,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The predicted edit type is 'replacement', and it matches exactly with the ground truth edit type, which is also 'replacement'. Therefore, by the criterion of edit type accuracy, the prediction is correct in this regard.\n\n2. Text Content Accuracy: The core change identified in the ground truth is the replacement of 'of' with 'to'. In the predicted edit, the change 'return of' to 'return to' includes the core change of 'of' to 'to'. The prediction provides additional context (the word 'return'), but it does not alter the essential change that occurs. The crucial change from 'of' to 'to' is correctly captured in the prediction, satisfying the requirement for text content accuracy.\n\nAs both the edit type and the text content accurately reflect the intention of the ground truth, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit and the ground truth edit both have the same edit type, 'punctuation,' which matches the requirement for Edit Type Accuracy. The Text Content Accuracy is also achieved because both the predicted edit and the ground truth edit capture the core change from 'them,' to 'them;'. This is the essential punctuation change intended, which alters the comma to a semicolon. While the line numbers differ, they are disregarded in this evaluation. Since both the edit types and the text content match the intended change, the prediction is considered correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: The predicted edit and the ground truth edit both specify the type as 'punctuation,' which matches exactly. Therefore, the edit type accuracy criterion is satisfied. 2. Text Content Accuracy: The core change specified in both the ground truth and predicted edit is changing 'it,' to 'it;'. The prediction captures the essential change correctly, despite line numbers being different, which are ignored for this evaluation. Therefore, the text content accuracy criterion is also satisfied. Both criteria are met, so the prediction is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 18,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit is evaluated based on two main criteria: Edit Type Accuracy and Text Content Accuracy. Firstly, the Edit Type is 'punctuation' in both the predicted and ground truth edits, which means the type matches exactly. Secondly, focusing on the Text Content Accuracy, the core change in the ground truth is the substitution of a comma with a semicolon ('stand-still,' to 'stand-still;'), which is correctly captured in the predicted change. The predicted correction reflects the essential alteration intended by the ground truth. Therefore, since both the edit type and the text content accuracy criteria are met, the prediction is considered correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 20,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit matches the ground truth in both edit type and text content accuracy. \n\n1. **Edit Type Accuracy**: Both the ground truth and the predicted edit indicate a 'punctuation' change, which is the same, ensuring that this aspect is correct.\n2. **Text Content Accuracy**: The predicted edit accurately identifies the core change from 'existence,' to 'existence;'. Even though line numbers are different, they are meant to be ignored for this evaluation. The change in punctuation from a comma to a semicolon is correctly captured, thus meeting the criteria for text content accuracy.\n\nSince both criteria are correctly met, the prediction aligns with the ground truth intention."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless;",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:10:29.380907",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T12:01:11.830234",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The prediction is correct as it matches the ground truth on both evaluation criteria. \n\n1. Edit Type Accuracy: The edit type in the prediction is 'capitalization', which matches the ground truth's edit type exactly. \n\n2. Text Content Accuracy: The core change in both the ground truth and the predicted edit is altering the word 'city' to 'City' by capitalizing the first letter. The essential transformation from lowercase to uppercase for the initial letter is addressed in both the ground truth and prediction. The line number, which we are instructed to ignore, does not impact the evaluation of these criteria. Thus, both the edit type and text content match, affirming that the predicted edit accurately captures the ground truth's intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit is correct as it meets both the edit type and text content accuracy criteria. Firstly, the edit type is 'punctuation' in both the ground truth and the prediction, indicating a match. Secondly, the core change involves modifying the punctuation mark following the word 'them' from a comma to a semicolon. The original and corrected text in the prediction ('them,' to 'them;') captures this essential change accurately, despite any differences in additional context such as line numbers, which are to be ignored in this evaluation. Therefore, the prediction aligns with the ground truth's intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "it, to",
            "corrected_text": "it; to",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit and the ground truth edit both have the same edit type, 'punctuation,' which matches exactly. In terms of text content accuracy, the ground truth edit involves changing 'it,' to 'it;', while the predicted edit changes 'it, to' to 'it; to.' The core change here is the alteration of the comma to a semicolon after the word 'it.' Despite the inclusion of extra text ('to') in the prediction, the essential punctuation change from a comma to a semicolon is accurately captured. Thus, the predicted edit captures the core intent of the ground truth."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 18,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit correctly identifies the editing intention of the ground truth. First, the edit type 'punctuation' accurately matches between the ground truth and the prediction. For text content accuracy, both the ground truth and the prediction change 'stand-still,' to 'stand-still;', capturing the core change in punctuation. Additional details, like line numbers, are to be ignored as per the evaluation instructions, thus they do not affect the correctness of the prediction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 20,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit matches the ground truth edit in both edit type and text content. \n\n1. Edit Type Accuracy: The edit type is 'punctuation' in both the ground truth and the predicted edit, which matches exactly.\n\n2. Text Content Accuracy: The core change from 'existence,' to 'existence;' is correctly captured in both the ground truth and the predicted edit. The essential edit is the change of the punctuation mark from a comma to a semicolon, which the prediction accurately reflects. \n\nThe line number difference is explicitly ignored in the evaluation criteria, thus it does not affect the correctness of the prediction. Therefore, the prediction accurately captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "reluctant return of",
            "corrected_text": "to reluctant return of",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless;",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:10:38.415224",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T12:05:17.043023",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the provided criteria. \n\n1. Edit Type Accuracy: The edit type in both the predicted and ground truth edits is 'capitalization'. Since the edit types match exactly, this criterion is satisfied.\n\n2. Text Content Accuracy: The essential core change identified in the ground truth is changing 'city' to 'City'. The predicted edit correctly captures this same change, from 'city' to 'City'. Additional context, such as line numbers, is explicitly ignored in this evaluation, so it is irrelevant to the judgment.\n\nGiven that both the edit type and text content match the ground truth, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "return of",
            "corrected_text": "return to",
            "observed_line_number": 6,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: The predicted edit has a type of 'replacement,' which matches the ground truth. Therefore, the edit type is accurate. \n\n2. Text Content Accuracy: The core change identified by the ground truth is replacing 'of' with 'to.' The predicted edit captures this essential change within the context of 'return of' to 'return to.' The inclusion of additional context ('return') around the core change does not alter the fundamental correction, which is changing 'of' to 'to.' Therefore, the prediction accurately reflects the intention of the ground truth. \n\nOverall, both the edit type and the text content align with the ground truth, indicating that the prediction is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 13,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit. Firstly, the edit type is 'punctuation' in both the ground truth and predicted edits, which matches exactly. Secondly, the text content accuracy criterion is met because the core change from 'them,' to 'them;' is accurately captured in both the ground truth and predicted edits. According to the instructions, line numbers should be ignored, and the focus should be on the essential change of punctuation. Therefore, since both criteria of edit type and text content accuracy are satisfied, the prediction is correct."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 18,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the criteria given. Firstly, the edit type 'punctuation' matches between the prediction and the ground truth, which satisfies the Edit Type Accuracy criterion. Secondly, the text content accurately reflects the core change as specified in the ground truth. Both specify the change from 'it,' to 'it;', capturing the essential punctuation modification. While the line numbers differ, they are not relevant for this evaluation. Hence, both criteria are met, confirming that the prediction is correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 19,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The evaluation of the predicted edit involves checking two main criteria: Edit Type Accuracy and Text Content Accuracy. In this case, both criteria are correctly addressed: \n\n1. **Edit Type Accuracy**: The ground truth specifies the edit type as 'punctuation', and the prediction also identifies the change as 'punctuation'. Therefore, the edit types match exactly. \n\n2. **Text Content Accuracy**: The ground truth change is from 'stand-still,' to 'stand-still;', which involves altering the punctuation at the end of the same word. The predicted edit correctly identifies the same core change from 'stand-still,' to 'stand-still;'. Even though line numbers are ignored for this evaluation, the core change in punctuation is accurately captured, which is the essential edit. \n\nAs both criteria are met, the predicted edit aligns with the ground truth's intention, and thus the prediction is correct."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 21,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the evaluation criteria provided. Firstly, the edit type matches exactly as 'punctuation' in both the ground truth and the prediction. Secondly, the text content accuracy is also correct: the predicted edit identifies the core change of replacing the comma with a semicolon after 'existence,' which matches the ground truth edit 'existence, \u2192 existence;'. The inclusion of additional context or different line numbers is irrelevant according to the guidelines. Thus, both the essential edit type and text content are captured accurately in the prediction."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless,",
            "corrected_text": "motionless;",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:10:59.831072",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:54:25.877612",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \u201cnot",
            "corrected_text": "Clennam; \u201cnot",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly identifies the edit type as 'punctuation,' which matches the ground truth. The text content accuracy is also upheld as the prediction captures the essential change from a colon to a semicolon in 'Clennam;', just as the ground truth does. While the predicted edit includes additional context ('\u201cnot'), it does not alter the fact that the core edit of changing ':' to ';' is captured accurately. Therefore, the prediction correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit matches the ground truth edit in both edit type and text content. \n\n1. Edit Type Accuracy: The type is 'replacement' in both the ground truth and the predicted edit, indicating the model correctly identified the type of edit required. \n\n2. Text Content Accuracy: The core change involves modifying 'dryest' to 'driest of'. The ground truth shows 'of the dryest snorts.' being replaced with 'of the driest of snorts.', and the predicted edit captures the essential alteration by changing 'dryest snorts' to 'driest of snorts'. The core intention of the edit is preserved, despite slight differences in the surrounding words ('of the'). Therefore, the essential aspect of the text content change has been correctly identified by the predicted edit, focusing on the replacement from 'dryest' to 'driest of'."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 32,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit matches the ground truth edit in terms of both edit type and text content. The edit type is 'punctuation' in both cases, which perfectly aligns. Regarding text content accuracy, both the ground truth and predicted edit correctly identify the change from 'now I' to 'now, I'. The core change, which is the insertion of a comma after 'now', is accurately captured. The additional context of words around the change is allowed as long as the essential edit is preserved, which is the case here. Therefore, the predicted edit accurately reflects the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 35,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit matches the ground truth in terms of both edit type and text content. Firstly, the edit type 'replacement' is consistent in both the ground truth and the prediction, satisfying the edit type accuracy requirement. Secondly, the text content accuracy is fulfilled as the CORE change from 'authorize' to 'authorise' is captured correctly in the predicted edit. The line number discrepancy is explicitly ignored for this evaluation, as per the instructions. Therefore, despite the difference in line numbers, the essential change as intended is correctly reflected in the prediction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty, sticking",
            "corrected_text": "twenty; sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "Italicize",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hands. I authorize you now",
            "corrected_text": "hands. I authorise you, now",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that-boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him",
            "corrected_text": "him,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:11:03.699648",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:57:18.027184",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts.",
            "corrected_text": "driest of snorts.",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The predicted edit correctly captures the intention of the ground truth edit based on the criteria provided. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit identify the change as a 'replacement.' Therefore, the edit types match exactly.\n\n2. Text Content Accuracy: The essential edit in the ground truth involves changing 'dryest snorts.' to 'driest of snorts.'. The predicted edit involves changing 'dryest snorts.' to 'driest of snorts.'. While there is a slight difference in the original text captured ('of the dryest snorts.' vs. 'dryest snorts.'), the core change, which is replacing 'dryest snorts.' with 'driest of snorts.,' is accurately captured. The additional context in the original text does not alter the core correctness of capturing the intended change. Therefore, it correctly identifies the replacement of 'dryest' with 'driest' and the addition of 'of'. \n\nOverall, both criteria match the intention set by the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 27,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit matches the ground truth in terms of both the type and text content. \n\n1. Edit Type Accuracy: \n   - Both the ground truth and the predicted edit have the type 'italicize'. The edit type matches exactly, ensuring accuracy in the intention of the edit.\n\n2. Text Content Accuracy: \n   - The ground truth specifies italicizing the word 'him'. The predicted edit specifies italicizing a phrase 'benevolence bubbling out of him,'. \n   - Despite the additional text context provided in the prediction, it correctly includes the necessary portion 'him', which matches the ground truth. \n   - The prediction captures the core change of italicizing 'him', which is the essential part of the ground truth edit.\n\nBoth criteria of type and content are satisfied per the provided standards, therefore the prediction is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 31,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit correctly identifies the edit type as 'punctuation', which matches the ground truth edit type. In terms of text content accuracy, both the ground truth and predicted edits reflect the change from 'now I' to 'now, I'. The predicted edit captures this core change accurately by adding the comma after 'now'. Line numbers are ignored per instruction, thus do not affect the evaluation. Therefore, both criteria for correctness are satisfied, making the predicted edit accurate."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 34,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "The predicted edit matches the ground truth in both key aspects required for evaluation. First, the edit type is 'replacement' for both the ground truth and the predicted edit, indicating an accurate classification of edit action. Second, the text content accuracy shows that both the original ('authorize') and corrected text ('authorise') are exactly the same in both the ground truth and the prediction. Since the evaluation instruction was to ignore line numbers completely and the focus was solely on the edit type and text content, the predicted edit accurately captures the intention of the ground truth. Therefore, the prediction is considered correct."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "premature.",
            "corrected_text": "premature.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty sticking",
            "corrected_text": "twenty; sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam; \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:11:12.946188",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:55:23.007041",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "The evaluation focuses on two main criteria: Edit Type Accuracy and Text Content Accuracy. \n\n1. Edit Type Accuracy: Both the ground truth and the predicted edit specify 'replacement' as the type of edit. This is a direct match, so the Edit Type Accuracy criterion is satisfied. \n\n2. Text Content Accuracy: The original text in the ground truth is 'of the dryest snorts.' and the corrected text is 'of the driest of snorts.' The predicted edit shows the original text as 'dryest snorts' and the corrected text as 'driest of snorts.' The core change is the correction of 'dryest' to 'driest' and the addition of 'of' between 'driest' and 'snorts.' The predicted edit captures both these core changes accurately, despite having a minor discrepancy in the context ('of the' versus none). According to the evaluation criteria, the essential edit must be captured, which it is.\n\nSince both criteria for accuracy are met, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 32,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: The predicted edit type 'punctuation' matches exactly with the ground truth edit type 'punctuation.' Therefore, the edit type is correct.\n\n2. Text Content Accuracy: The essential change captured by both the ground truth and the predicted edit is the insertion of a comma after 'now,' altering 'now I' to 'now, I.' The predicted edit correctly captures this core punctuation change. The presence of additional context or differences in line numbers is not relevant to the evaluation, as the core change intended by the ground truth is accurately reflected in the predicted edit. \n\nGiven that both the edit type and text content have been addressed correctly, the predicted edit is considered correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 35,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "The predicted edit matches the ground truth edit in both required criteria. First, the edit type is 'replacement' in both the ground truth and the predicted edit, which indicates that the type of edit is correctly identified. Second, the text content accuracy is met because the prediction correctly identifies the core textual change from 'authorize' to 'authorise,' exactly as specified in the ground truth. Both criteria are satisfied, resulting in a correct prediction, despite the line number discrepancy, which is expressly to be ignored for this evaluation."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "premature",
            "corrected_text": "premature.",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty sticking",
            "corrected_text": "twenty; sticking",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "italicize",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam; \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now",
            "corrected_text": "you, now",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:11:26.520748",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:56:05.523614",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both the predicted edit and the ground truth are of type 'punctuation'. Therefore, the edit type matches perfectly.\n\n2. Text Content Accuracy: The ground truth changes 'For Mr. Pancks' to 'For, Mr. Pancks', thus adding a comma after 'For'. The predicted edit makes the same essential change by altering 'For Mr.' to 'For, Mr.', which captures the core change of inserting a comma after 'For'. The prediction includes less context ('Mr.' vs. 'Mr. Pancks'), but this does not affect the accuracy of the core punctuation change. Therefore, the text content accuracy criterion is met.\n\nBoth criteria are satisfied, so the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit correctly identifies the type of edit required, which is 'punctuation'. This matches the 'punctuation' type specified in the ground truth. In terms of text content accuracy, the predicted edit precisely captures the essential change required \u2013 the insertion of a comma between 'quickly' and 'that'. Both the ground truth and the prediction demonstrate this correction from 'quickly that' to 'quickly, that'. The inclusion of the line number does not affect the validation of the edit's accuracy as instructed, and the context provided in the prediction does not obscure the core change required. Therefore, because both the edit type and the text content accurately match the ground truth's intention, the prediction is correct."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me; not",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:11:29.565948",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:56:18.895842",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The evaluation requires assessing both edit type and text content accuracy while ignoring line numbers. \n\n1. Edit Type Accuracy: The predicted edit type is 'punctuation', which matches exactly with the ground truth edit type. This criterion is met.\n\n2. Text Content Accuracy: The ground truth edit shows a change from 'quickly that' to 'quickly, that', indicating the insertion of a comma. The predicted edit accurately reflects this core change, as it also shows a transition from 'quickly that' to 'quickly, that'. The prediction may include more context, which is acceptable, as long as the essential change is captured, which it is in this case.\n\nSince both criteria align correctly with the ground truth, the predicted edit is deemed correct."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me; not",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen3_5_397b_a17b",
        "date": "2026-02-22T12:11:33.139811",
        "annotator": "Qwen3.5 397B A17B",
        "annotation_date": "2026-02-22T11:58:53.400535",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "The predicted edit accurately captures the intention of the ground truth edit based on the specified criteria. \n\n1. Edit Type Accuracy: The edit type in both the ground truth and predicted edit is 'punctuation'. There is an exact match regarding the type of edit, satisfying the first criterion. \n\n2. Text Content Accuracy: Both edits involve adding a comma in the text 'quickly that' to become 'quickly, that'. The core change, which is the insertion of a comma, is correctly captured in the predicted edit. The essential modification required by the ground truth is present in the prediction, regardless of the line number discrepancy, which was instructed to be ignored. \n\nGiven these evaluations, the predicted edit meets all the necessary criteria as outlined in the instructions."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "for Mr.",
            "corrected_text": "For Mr.",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Alibaba",
    "release_date": "2026-02-17",
    "release_notes": "Release date taken from the official Alibaba Cloud announcement for Qwen3.5-397B-A17B."
  },
  {
    "model_name": "Qwen3.6 Plus Nitro (OR)",
    "model_id": "or_qwen3_6_plus_nitro",
    "date": "2026-04-26T10:01:28.088144",
    "shots": 2,
    "config": {
      "model_id": "or_qwen3_6_plus_nitro",
      "display_name": "Qwen3.6 Plus Nitro (OR)",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-04-26",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Qwen3.6 Plus Nitro (OR)",
    "annotation_date": "2026-04-26T09:47:14.872245",
    "file_results": [
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T09:59:53.208118",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:47:14.872245",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"howling\" in the phrase \"howling over\" \u2192 \"howling, over\". The predicted edit \"howling\" \u2192 \"howling,\" captures that same essential change (adding a comma immediately after \"howling\"). Although it omits the following word \"over\" as context, the core punctuation correction is correctly represented."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches.\n2. Text Content Accuracy: The ground truth change is inserting a comma after \"yonder\" in the phrase \"yonder to-day\" (making it \"yonder, to-day\"). The prediction edits \"yonder\" to \"yonder,\", which captures the same core punctuation insertion (a comma immediately after \"yonder\"). Although the prediction omits the following word \"to-day\" as context, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"pockets and\" to \"pockets, and\", inserting a comma after \"pockets\". The core change is identical, and no conflicting context is introduced. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T09:59:56.528688",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:52:43.159180",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"howling\" in the phrase \"howling over\" \u2192 \"howling, over.\" The predicted edit \"howling\" \u2192 \"howling,\" captures this same essential change (adding a comma immediately after \"howling\"). Although it omits the following word \"over\" from the context, it still correctly represents the core punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day.\" The predicted edit \"yonder\" \u2192 \"yonder,\" captures the same core change (adding a comma immediately after \"yonder\"). Although the prediction omits the following word \"to-day\" as context, it still represents the essential punctuation correction intended by the ground truth."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\nText Content Accuracy: Both specify the same core change from \"Sir\" to \"sir\". Ignoring line numbers as instructed, the predicted edit captures the identical intended capitalization correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"pockets\" in the phrase \"pockets and\" \u2192 \"pockets, and.\" The prediction captures the same core punctuation change by editing \"pockets\" \u2192 \"pockets,.\" Although it omits the following word \"and\" from the original/corrected text span, it still reflects the essential intended correction (adding a comma immediately after \"pockets\")."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers.",
            "corrected_text": "Fellow Travellers,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T09:59:53.110671",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:56:55.131385",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"howling\" in the phrase \"howling over\" \u2192 \"howling, over\". The prediction \"howling\" \u2192 \"howling,\" captures the same essential punctuation insertion (comma immediately after \"howling\"). Although it omits the following word \"over\" from the span, it still represents the core intended correction accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both the ground truth and the prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth edit inserts a comma after the word \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day.\" The predicted edit also inserts a comma immediately after \"yonder\" (\"yonder\" \u2192 \"yonder,\"). Although the prediction does not include the following word \"to-day\" in its context, it captures the core intended change: adding a comma after \"yonder.\" Therefore, the text content matches the essential edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 18,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit changes \"pockets and\" to \"pockets, and\", which is the insertion of a comma immediately after the word \"pockets\". The predicted edit changes \"pockets\" to \"pockets,\", which captures that same core punctuation insertion. Although the prediction includes less surrounding context (it omits the following \"and\"), it still reflects the essential intended correction: adding a comma after \"pockets\"."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Travellers.",
            "corrected_text": "Travellers,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T09:59:49.675699",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:46:11.913195",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word of the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction captures the same core change by capitalizing \"why\" \u2192 \"Why\". Although it includes less surrounding context, it identifies the essential edit (capitalizing the first word), which matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "!",
            "corrected_text": "?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation in \"cold stones!\" to \"cold stones?\" (i.e., \"!\" \u2192 \"?\"). The prediction captures this same core change by specifying the punctuation swap \"!\" to \"?\" without the surrounding words. Omitting surrounding context is acceptable because the essential intended edit (replacing an exclamation mark with a question mark) is correctly captured."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T09:59:51.495619",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:52:33.239051",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial word in the phrase: \"why did he dine\" \u2192 \"Why did he dine\". The prediction captures the core change by specifying \"why\" \u2192 \"Why\". Although it omits the surrounding words (\"did he dine\"), it still represents the essential intended correction (capitalizing the initial 'w' to 'W')."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "!",
            "corrected_text": "?",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the ending punctuation in \"cold stones!\" to a question mark (\"cold stones?\"). The predicted edit captures this same core change by specifying \"!\" \u2192 \"?\". Although it omits the surrounding words, it correctly represents the essential punctuation replacement intended by the ground truth."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T09:59:44.155500",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:57:13.925846",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to capitalize the initial word of the phrase: \"why did he dine\" \u2192 \"Why did he dine\". The prediction focuses on the core altered token only: \"why\" \u2192 \"Why\". This captures the essential intended correction (capitalizing the initial 'w' in 'why'); the omission of surrounding context does not change the substance of the edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!'",
            "corrected_text": "stones?'",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T09:59:48.789316",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:46:41.903599",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction applies the same essential change to the core token \"if\" \u2192 \"If\" (with less surrounding context). Since the intended correction is to capitalize \"if\" at the start of that segment, the prediction captures the core change correctly."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth replaces the word \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The predicted edit replaces \"said\" \u2192 \"asked\" without including the trailing context \"Clennam\". This still captures the essential intended change (the substitution of \"said\" with \"asked\"), and omitting surrounding unchanged words is acceptable.\n\nTherefore, the predicted edit matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T09:59:40.311973",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:51:55.138958",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T09:59:52.591193",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:57:13.284700",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the word \"if\" in the phrase \"if he\" \u2192 \"If he.\" The prediction applies the same core change, \"if\" \u2192 \"If,\" just with less surrounding context. Since the essential intended correction (capitalizing \"if\") is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"said\" to \"asked\" within the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution (\"said\" \u2192 \"asked\"), just with less surrounding context (it omits \"Clennam\"). Since the essential intended change is the verb replacement, the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:05.762684",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:48:01.476737",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: converting \"high road\" to the hyphenated form \"high-road.\" There is no discrepancy in original or corrected text. Therefore, the prediction fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same correction (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials.\" Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change the phrase \"about and\" to \"about, and\" by inserting a comma after \"about.\" This captures the core intended punctuation correction with identical original and corrected text.\n\nTherefore, the prediction correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"earnestly telling\") and the same corrected_text (\"earnestly, telling\"), capturing the identical core change\u2014adding a comma after \"earnestly\". Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the identical change from \"said when\" to \"said, when\", inserting a comma after \"said\". The core intended punctuation correction is captured exactly."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation, adding a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The core intended punctuation change is captured exactly with matching original and corrected text."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said;",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:26.271490",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:52:48.782188",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"high road\" to \"high-road\" (inserting a hyphen). This captures the same core correction with identical original and corrected text.\nTherefore, the prediction correctly matches the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"about\" in the phrase \"about and\" to make it \"about, and\". The original_text and corrected_text match the ground truth\u2019s core edit precisely.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly.\" The core punctuation change is identical and fully captures the intended correction."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"said when\") and the same corrected text (\"said, when\"), capturing the identical core change\u2014adding a comma after \"said\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion, did",
            "corrected_text": "tion did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said;",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:32.192072",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:58:16.853738",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"high road\" is corrected to \"high-road\" by inserting a hyphen. There is no discrepancy in the original or corrected text. Therefore, the prediction fully captures the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"materials costing\" to \"materials, costing\", inserting a comma after \"materials\". The core punctuation correction is captured identically.\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"about and\" to \"about, and\" (inserting a comma after \"about\"). The core punctuation correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same correction (\"earnestly, telling\"), inserting a comma after \"earnestly\". The core change is identical, so the text content matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both edits change \"Clennam in\" to \"Clennam, in\", inserting a comma after \"Clennam\". This captures the same core punctuation correction with identical original and corrected text. Therefore the predicted edit matches the ground truth\u2019s intended change."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion, did",
            "corrected_text": "tion did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said;",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:14.321368",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:47:06.575728",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I.",
            "corrected_text": "Chapter I.,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:12.490545",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:52:41.665968",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I.",
            "corrected_text": "Chapter I,",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:14.924279",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:57:48.355467",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:28.289509",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:46:53.851482",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). This captures the exact core correction intended in the ground truth. Line numbers are ignored as instructed, and there are no other content differences."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man",
            "corrected_text": "man,",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"man slowly\" to \"man, slowly,\" which inserts a comma immediately after \"man.\" The prediction changes \"man\" to \"man,\", which captures the same core punctuation insertion at the correct location (after \"man\"). Although the prediction includes less surrounding context (it omits \"slowly\"), it still reflects the essential intended edit.\n\nTherefore, the predicted edit correctly captures the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 6,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was.\" The prediction captures the same core change by editing \"Chalons\" \u2192 \"Chalons,\" (adding the comma immediately after the word). Although the prediction includes less surrounding context, it still reflects the essential punctuation insertion at the correct location."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:17.383537",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:51:18.067885",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:32.266962",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:57:54.920396",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 3,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\nText Content Accuracy: Both edits replace \"Saone\" with \"Sa\u00f4ne\" (adding the circumflex over the 'o'). This captures the core intended correction precisely. Line number differences are to be ignored."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Chalons",
            "corrected_text": "Chalons,",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after \"Chalons\" in the phrase \"Chalons was\" \u2192 \"Chalons, was.\" The prediction captures the same core change by converting \"Chalons\" \u2192 \"Chalons,\" (i.e., adding a comma immediately after \"Chalons\"). Although it includes less surrounding context (it omits \"was\"), it still reflects the essential intended punctuation insertion at the correct location.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both edits replace \"sodden\" with \"soddened\". The core intended change is captured identically. Line number differences are ignored as instructed, so they do not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream",
            "corrected_text": "stream,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "One man",
            "corrected_text": "One man,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:38.540814",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:47:43.194299",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core change is identical.\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"length said\" \u2192 \"length, said\" (inserting a comma after \"length\"). This captures the identical core change with no discrepancies."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "hope",
            "corrected_text": "hoped",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the phrase \"I hope so\" to \"I hoped so,\" which fundamentally consists of changing \"hope\" \u2192 \"hoped\" (present to past tense) while keeping the surrounding words the same. The predicted edit replaces \"hope\" with \"hoped,\" which captures the core intended correction even though it provides less surrounding context. Therefore, the essential change is correctly represented."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "face, with",
            "corrected_text": "face, indeed, with",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "thanked him from her heart",
            "corrected_text": "thanked him from her heart",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart (as",
            "corrected_text": "heart, as",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "ness), she",
            "corrected_text": "ness, she",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "very",
            "corrected_text": "very",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr. ",
            "corrected_text": "",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:32.652949",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:52:45.450411",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:48.987536",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:57:52.549626",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (tense shift from hope \u2192 hoped). Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "with some hurried words to the effect that she thanked him from her heart",
            "corrected_text": "with some hurried words to the effect that she thanked him from her heart",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked",
            "corrected_text": "indeed thanked",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart ",
            "corrected_text": "heart, ",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "very much",
            "corrected_text": "very much",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "Mr.",
            "corrected_text": "",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "(",
            "corrected_text": "",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ")",
            "corrected_text": ",",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:47.463642",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:47:27.437203",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"hers and\" to \"hers, and\" (inserting a comma after \"hers\"). The core change is identical with no discrepancies."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both apply the same core change\u2014adding a comma after \"hers\"\u2014changing \"hers matters\" to \"hers, matters\". The essential punctuation correction is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"moment with\" to \"moment, with\", correctly inserting a comma after \"moment\". The core correction is identical. Therefore the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"they\" is corrected to \"They.\" There is no discrepancy in original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that papa had abandoned the idea",
            "corrected_text": "that papa had abandoned the idea",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "beautiful",
            "corrected_text": "beautiful",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:39.121894",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:53:04.909403",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:54.668031",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:58:47.699123",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and.\" The predicted edit does the same punctuation change, just with additional preceding context (\"from hers and\" \u2192 \"from hers, and\"). The core intended change (adding the comma after \"hers\") is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 15,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction makes the same core punctuation change\u2014adding a comma after \"hers\"\u2014but includes additional surrounding context (\"on\" before the phrase). Since the essential edit (inserting the comma after \"hers\") is correctly captured, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2. Text Content Accuracy: Both edits change \"moment with\" to \"moment, with\" by inserting a comma after \"moment\". The core punctuation change is identical, with no discrepancy in original or corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "his peace he",
            "corrected_text": "his peace, he",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ", that papa had abandoned the idea",
            "corrected_text": "",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:01:00.728240",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:48:14.193551",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "\"Thank you!\"",
            "corrected_text": "\"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the punctuation in the phrase from an exclamation point to a comma (\"Thank you!\" \u2192 \"Thank you,\"). The prediction makes the same core change (\"Thank you!\" \u2192 \"Thank you,\") while including surrounding quotation marks as additional context. The essential intended correction\u2014replacing \"!\" with \",\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"shore and\" to \"shore, and\" by inserting a comma after \"shore.\" This captures the same core correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\nText Content Accuracy: Both replace the original text \"that\" with the corrected text \"than\". This captures the core intended change precisely. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:01:07.397725",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:54:17.594220",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change the exact same text from \"Thank you!\" to \"Thank you,\", replacing the exclamation mark with a comma. This captures the core intended correction precisely. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"shore and\") and the same correction (\"shore, and\"), capturing the core intended change of inserting a comma after \"shore.\" Line numbers are ignored as instructed. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\nText Content Accuracy: Both specify replacing the original text \"that\" with the corrected text \"than.\" This captures the core intended change precisely. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in our fancy",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:51.027137",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:57:37.155918",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:00:48.603107",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:48:09.207462",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:01:20.366985",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:54:40.579623",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"city\" to \"City.\" This captures the intended capitalization correction precisely. Line numbers are ignored as instructed, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 11,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify the same original text \"them,\" and the same correction to \"them;\". This captures the core intended change (comma to semicolon) exactly.\n\nLine numbers are ignored as instructed, so the discrepancy in line_number does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same core substitution: changing \"it,\" to \"it;\". This captures the essential intended punctuation correction exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text \"stand-still,\" and the same corrected text \"stand-still;\"\u2014a comma replaced with a semicolon. This captures the core intended change exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"existence,\" to \"existence;\". The core punctuation substitution (comma to semicolon) is identical, so the essential intended change is captured. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "of",
            "corrected_text": "",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "return",
            "corrected_text": "to return",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:01:03.425204",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:57:25.426229",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:01:27.807302",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:49:58.256033",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 38,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly. Text Content Accuracy: Both replace \"authorize\" with \"authorise\", capturing the same core spelling change (American to British spelling). Line number difference is to be ignored, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam;",
            "corrected_text": "Clennam,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "driest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "been a little",
            "corrected_text": "been little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "your hands",
            "corrected_text": "your hands",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "authorize you now",
            "corrected_text": "authorise you",
            "observed_line_number": 38,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling",
            "corrected_text": "boiling",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him",
            "corrected_text": "benevolence bubbling out of him",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "score; now I",
            "corrected_text": "score; I",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:01:28.088144",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:54:31.387250",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" to form \"driest of snorts\" (within the larger phrase \"of the ... .\"). The predicted edit captures the same core transformation: \"dryest snorts\" \u2192 \"driest of snorts\". Although the prediction omits surrounding context (\"of the\" and the final period), it still accurately represents the essential textual change intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": 30,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"italicize\" and the predicted edit type is also \"italicize\", so the type matches exactly. Text Content Accuracy: Both ground truth and prediction apply italicization to the same text span, \"him\" (original_text and corrected_text are identical as expected for a style change). The core intended change\u2014italicizing the word \"him\"\u2014is fully captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change \"now I\" to \"now, I\" by inserting a comma after \"now\". The core intended punctuation change is identical in the prediction and ground truth. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 37,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both edits replace the same original word \"authorize\" with the same corrected word \"authorise\". The core change (American spelling to British spelling) is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "a little",
            "corrected_text": "a little",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "boiling-over",
            "corrected_text": "boiling-over",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty,",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now to",
            "corrected_text": "now, to",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:01:09.437924",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:58:13.658420",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:01:15.415654",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:49:48.332068",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "For ",
            "corrected_text": "",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:01:14.891252",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:54:55.814035",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bed.",
            "corrected_text": "bed,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen3_6_plus_nitro",
        "date": "2026-04-26T10:01:17.468372",
        "annotator": "Qwen3.6 Plus Nitro (OR)",
        "annotation_date": "2026-04-26T09:57:35.792541",
        "details": [
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Alibaba",
    "release_date": "2026-04-02",
    "release_source": "https://openrouter.ai/qwen/qwen3.6-plus",
    "release_notes": "Latency-optimized OpenRouter run using the Qwen3.6 Plus Nitro route with provider latency sorting and reasoning tokens excluded from API responses."
  },
  {
    "model_name": "Qwen3.7 Plus",
    "model_id": "or_qwen3_7_plus",
    "date": "2026-07-23T15:43:05.657568",
    "shots": 2,
    "config": {
      "model_id": "or_qwen3_7_plus",
      "display_name": "Qwen3.7 Plus",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Qwen3.7 Plus",
    "annotation_date": "2026-07-23T11:47:08.855051",
    "file_results": [
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:40:49.767684",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:47:08.855051",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core intended punctuation change is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same transformation from \"pockets and\" to \"pockets, and,\" capturing the identical core change (inserting a comma after \"pockets\"). Line numbers are ignored as instructed. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over yonder to-day sir;",
            "corrected_text": "howling, over yonder to-day, Sir;",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:15.175192",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T12:56:45.325536",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. This captures the same core punctuation change with identical original and corrected text. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over yonder to-day sir",
            "corrected_text": "howling, over yonder, to-day, Sir;",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:40:53.779654",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:01:45.114931",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a period at the end. The core punctuation change is identical, with no discrepancy in original or corrected text. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "howling over yonder to-day sir",
            "corrected_text": "howling, over yonder to-day, sir;",
            "observed_line_number": 4,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth\u2019s core change is inserting a comma between \u201chowling\u201d and \u201cover\u201d (\"howling over\" \u2192 \"howling, over\"). The predicted correction includes that same core punctuation change (\"howling over ...\" \u2192 \"howling, over ...\"). Although the prediction also adds additional punctuation elsewhere (e.g., a comma after \u201cto-day\u201d and a semicolon after \u201csir\u201d), it still captures the essential intended edit of adding the comma after \u201chowling.\u201d"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" so that \"pockets and\" becomes \"pockets, and\". The original and corrected text fields match the ground truth\u2019s intended punctuation change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:40:45.155800",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:55:06.153727",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word in the phrase \"why did he dine\" \u2192 \"Why did he dine.\" The prediction captures the core change by converting \"why\" \u2192 \"Why.\" Although it includes less surrounding context, it correctly represents the essential capitalization correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "No, sir,",
            "corrected_text": "No, sir,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:40:44.661753",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T12:57:46.501324",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 27,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word \"why\" to \"Why\" at the start of the phrase \"why did he dine\". The prediction captures this core change by specifying \"why\" \u2192 \"Why\". Although it includes less surrounding context than the ground truth, it accurately reflects the essential correction (capitalizing the initial word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No, sir",
            "corrected_text": "No, sir,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:40:45.934131",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:01:42.461034",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 26,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to capitalize the initial word in the phrase, changing \"why did he dine\" to \"Why did he dine.\" The prediction captures the core intended change by changing \"why\" to \"Why.\" Although it provides less surrounding context, it still reflects the essential capitalization correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones!\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "No, sir",
            "corrected_text": "No, sir,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:40:41.618074",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:54:22.757032",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: Both specify replacing \"said Clennam\" with \"asked Clennam\". This captures the identical core textual change intended in the ground truth. Line number differences are ignored as instructed.\n\nTherefore, the predicted edit correctly reflects the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "do? if",
            "corrected_text": "do? If",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:40:45.162283",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T12:56:50.410715",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the same core substitution by changing \"said\" \u2192 \"asked\" (with less surrounding context). Since the essential intended change is identical, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "do? if",
            "corrected_text": "do? If",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:40:42.869697",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:02:23.215397",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said Clennam.",
            "corrected_text": "asked Clennam.",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The core intended change is replacing \"said\" with \"asked\" in the phrase involving Clennam. The prediction captures this exact substitution. The only difference is that the predicted original/corrected text includes a trailing period (\"said Clennam.\" \u2192 \"asked Clennam.\"), which is additional context rather than a different core edit. Therefore, the essential edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "do? if",
            "corrected_text": "do? If",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:23.226761",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:54:40.732847",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road,\" correctly capturing the intended hyphenation change. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"materials costing\" to \"materials, costing\", inserting a comma after \"materials\". This captures the core intended correction with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"about and\" to \"about, and\", correctly capturing the intended insertion of a comma after \"about\". No discrepancies in original or corrected text."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 19,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change from \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". This captures the core intended correction. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original span (\"said when\") and the same correction (\"said, when\"), capturing the identical core change\u2014adding a comma after \"said\". Line numbers are ignored as instructed, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:26.172150",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T12:57:34.968573",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change from \"high road\" to \"high-road\" (inserting a hyphen). The original and corrected text match the ground truth exactly, capturing the intended punctuation edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"materials costing\") and the same correction (\"materials, costing\"), capturing the intended insertion of a comma after \"materials\". No discrepancy in the core change."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"about and\" \u2192 \"about, and\" (inserting a comma after \"about\"). This captures the core intended change. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"earnestly\" in the phrase \"earnestly telling\" to become \"earnestly, telling\". The original and corrected text segments match the ground truth\u2019s core intended change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"said when\" to \"said, when\", inserting a comma after \"said\". This captures the same core punctuation correction as the ground truth. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the core intended change (inserting a comma after \"Clennam\"). Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:19.627773",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:01:39.542973",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change from \"high road\" to \"high-road\" (inserting a hyphen between the words). The original and corrected texts are identical to the ground truth, so the intended edit is fully captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"about\" to turn \"about and\" into \"about, and\". The original and corrected text strings match the ground truth\u2019s intention with no discrepancy in the actual edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both ground truth and prediction change \"earnestly telling\" to \"earnestly, telling\", inserting a comma after \"earnestly\". This captures the core intended correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"said\" in the phrase \"said when\", resulting in \"said, when\". The original_text and corrected_text match the ground truth\u2019s intended punctuation change.\n\nLine numbers are ignored as instructed, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change, inserting a comma after \"Clennam\" (\"Clennam in\" \u2192 \"Clennam, in\"). The essential correction is identical.\nLine numbers are ignored as instructed, so the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association did",
            "corrected_text": "association, did",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said, (comma)",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:11.673524",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:46:38.848621",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 1,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a final period. This captures the same core punctuation correction identified in the ground truth. (Line number differences are ignored as instructed.)"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:01.162753",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T12:56:55.874706",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:12.557734",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:01:12.490160",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:26.326955",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:54:30.557748",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2. Text Content Accuracy: Both specify the same transformation: \"poplar trees\" \u2192 \"poplar-trees,\" (adding a hyphen between the words and a trailing comma). The predicted edit captures the identical core change and corrected text as the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the core intended change of inserting a comma after \"Chalons.\" Line numbers are ignored, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 15,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"sodden\" to \"soddened\". The predicted edit changes \"sodden with\" to \"soddened with\", which includes extra surrounding context (\"with\") but preserves the same core transformation of \"sodden\" \u2192 \"soddened\". This accurately captures the intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Saone.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:30.332168",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T12:57:02.589038",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 6,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"poplar trees\") and the same corrected text (\"poplar-trees,\"), capturing the identical core change: adding a hyphen between \"poplar\" and \"trees\" and adding a trailing comma. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"Chalons\" (\"Chalons was\" \u2192 \"Chalons, was\"). The original and corrected texts match the ground truth\u2019s intention exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 14,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The core change in the ground truth is replacing \"sodden\" with \"soddened\". The predicted edit replaces \"sodden with\" with \"soddened with\", which contains the same essential transformation (\"sodden\" \u2192 \"soddened\") while including extra surrounding context (the following word \"with\"). This still captures the intended correction.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Saone.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:34.787484",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:01:57.951623",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": 9,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits transform the same original phrase \"poplar trees\" into the same corrected form \"poplar-trees,\" (adding a hyphen and a trailing comma). This captures the core intended change exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change: inserting a comma after \"Chalons\". Line numbers are to be ignored, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "LET LOOSE",
            "corrected_text": "LET LOOSE.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stream like",
            "corrected_text": "stream, like",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Saone.",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:43.485921",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:55:39.010393",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"heart so\" to \"heart, so\", correctly capturing the intended insertion of a comma after \"heart\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"length said\" to \"length, said,\" inserting a comma after \"length.\" This captures the core intended punctuation change with identical original and corrected text."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so; I am",
            "corrected_text": "I hoped so; I am",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to change \"I hope so\" to \"I hoped so\" (i.e., changing \"hope\" \u2192 \"hoped\"). The predicted edit changes \"I hope so; I am\" to \"I hoped so; I am\", which includes extra surrounding context but preserves the same core change (\"hope\" \u2192 \"hoped\") and does not introduce any additional modifications. Therefore, the essential correction is correctly captured."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "thanked him from her heart",
            "corrected_text": "indeed thanked him from her heart",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:48.915977",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T12:57:02.419850",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014adding a comma after \"heart\" in the phrase \"heart so\" to become \"heart, so.\" There is no discrepancy in original or corrected text. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 31,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"length said\") and the same corrected text (\"length, said\"), capturing the identical core change\u2014adding a comma after \"length.\" Therefore, the predicted edit matches the ground truth intent."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hope so; I",
            "corrected_text": "I hoped so; I",
            "observed_line_number": 34,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth core change is \"I hope so\" \u2192 \"I hoped so\" (present to past tense). The predicted edit applies the same core change within a slightly larger span: \"I hope so; I\" \u2192 \"I hoped so; I.\" This added context does not alter the essential correction and correctly captures the intended replacement."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestness) she",
            "corrected_text": "earnestness), she",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "confidentially up into his face, with some hurried words to the effect that she thanked him from her heart (as she did",
            "corrected_text": "confidentially up into his face, with some hurried words to the effect that she thanked him from her heart indeed (as she did",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:50.752872",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:02:15.806000",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"heart so\" to \"heart, so\", inserting a comma after \"heart\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 20,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly.\n\nText Content Accuracy: Both ground truth and prediction change \"generous, Mr.\" to \"generous Mr.\", removing the comma after \"generous\". This captures the core intended correction with identical original and corrected text. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 29,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same core punctuation change, inserting a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). This fully captures the ground truth intention. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "I hope so; I am",
            "corrected_text": "I hoped so; I am",
            "observed_line_number": 32,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"I hope so\" to \"I hoped so\" (hope \u2192 hoped). The prediction applies the same core change within a longer span of text: \"I hope so; I am\" \u2192 \"I hoped so; I am\". Including extra surrounding context is acceptable, and the essential correction (changing \"hope\" to \"hoped\") is correctly captured."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "confidentially up into his face, with some hurried words to the effect that she thanked him from her heart (as she did",
            "corrected_text": "confidentially up into his face, with some hurried words to the effect that she thanked him from her heart indeed (as she did",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestness) she",
            "corrected_text": "earnestness), she",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:56.883427",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:55:46.071796",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both edits change the phrase from \"hers and\" to \"hers, and\" by inserting a comma after \"hers.\" This captures the same core punctuation correction with identical original and corrected text. Line number differences are to be ignored, so they do not affect correctness."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core correction: inserting a comma to change \"hers matters\" to \"hers, matters.\" The essential edit is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original span (\"moment with\") and the same correction (\"moment, with\"), inserting a comma after \"moment\". This captures the core intended change precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original segment (\"beautiful that\") and the same correction (\"beautiful, that\"), inserting a comma after \"beautiful.\" This captures the core intended change with no discrepancy. Line number differences are irrelevant per instructions."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "At this, he thought directly, they",
            "corrected_text": "At this, he thought directly, \"they",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at",
            "corrected_text": "At",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:02.536665",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T12:59:43.638583",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Ignoring line numbers as instructed, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits apply the same core change, inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The original and corrected text strings match the ground truth\u2019s intended correction. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 22,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"moment with\") and the same correction (\"moment, with\"), inserting a comma after \"moment\". This captures the core intended change exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\" to make it \"beautiful, that\". The original and corrected text strings match the ground truth\u2019s intended core change.\nLine numbers are ignored as instructed, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "capitalization",
            "original_text": "At this, he thought directly, \"they",
            "corrected_text": "At this, he thought directly, \"They",
            "observed_line_number": 31,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The predicted edit type is \"capitalization,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to change \"they\" to \"They\" (capitalizing the first letter). The prediction applies the same capitalization change within a longer surrounding context (\"...\\\"they\" \u2192 \"...\\\"They\"). This captures the core intended correction accurately, and the extra context does not alter the essential edit."
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:41:52.381164",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:03:30.027145",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change: inserting a comma after \"hers\". Ignoring line numbers as instructed, the prediction matches the ground truth intent."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"hers matters\") and the same corrected text (\"hers, matters\"), capturing the identical core change\u2014adding a comma after \"hers.\" Line numbers are to be ignored, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same transformation: \"moment with\" \u2192 \"moment, with\" (inserting a comma after \"moment\"). The core change is identical, with no mismatch in original or corrected text.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change the same phrase from \"beautiful that\" to \"beautiful, that\", inserting a comma after \"beautiful\". This captures the core intended punctuation correction precisely. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "At this, he thought directly, \"they",
            "corrected_text": "At this, he thought directly, \"They",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:00.038578",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:56:05.826998",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original_text (\"shore and\") and the same corrected_text (\"shore, and\"), capturing the identical core change (inserting a comma after \"shore\"). Line number differences are ignored as instructed. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "things that once",
            "corrected_text": "things than once",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches.\n\n2) Text Content Accuracy: The ground truth changes the word \"that\" to \"than\". The predicted edit replaces the longer span \"things that once\" with \"things than once\", which includes the same core substitution (\"that\" \u2192 \"than\") with extra surrounding context. This correctly captures the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy whatever",
            "corrected_text": "that, in our fancy, whatever",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now. \"Thank you,\"",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:08.238795",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T13:00:03.494091",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"shore and\") and the same corrected text (\"shore, and\"), capturing the identical core change: inserting a comma after \"shore.\" Therefore the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "things that once",
            "corrected_text": "things than once",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces the word \"that\" with \"than\". The predicted edit replaces the phrase \"things that once\" with \"things than once\", which includes additional surrounding context but preserves the core intended change (\"that\" \u2192 \"than\") without introducing any other substantive alteration. Therefore, the prediction captures the ground truth's intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "now.\"",
            "corrected_text": "now.\" \"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:13.382684",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:03:21.395190",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original_text (\"shore and\") and the same corrected_text (\"shore, and\"), capturing the identical core change: insertion of a comma after \"shore\". Line numbers are to be ignored, and there are no other discrepancies affecting the intended edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "things that once",
            "corrected_text": "things than once",
            "observed_line_number": 34,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: The ground truth edit is a \"replacement\" and the predicted edit is also a \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth specifies changing the word \"that\" to \"than\". The predicted edit changes the phrase \"things that once\" to \"things than once\", which includes additional surrounding context but preserves the same core correction (\"that\" \u2192 \"than\"). Therefore, the essential intended change is correctly captured."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy whatever",
            "corrected_text": "that, in our fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:59.991977",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:47:38.143240",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction inserts a comma after \"existence\" as well, using additional surrounding context (\"existence at\" \u2192 \"existence, at\"). This captures the same core change: adding a comma immediately following \"existence\". Therefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit also inserts a comma immediately after \"motionless\" (\"motionless when\" \u2192 \"motionless, when\"), adding extra surrounding context but preserving the same core punctuation change. Therefore, the prediction captures the intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 18,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The predicted edit adds the same comma after \"view\" while including additional surrounding context (\"view by\" \u2192 \"view, by\"). This captures the same core intended punctuation insertion.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "City",
            "corrected_text": "city",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "reluctant return of",
            "corrected_text": "to reluctant return of",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liegelord",
            "corrected_text": "liege lord",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:18.295157",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T13:00:02.957713",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "City",
            "corrected_text": "city",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them images",
            "corrected_text": "them; images",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liegelord",
            "corrected_text": "liege lord",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "reluctant return of",
            "corrected_text": "to reluctant return of",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:43:05.657568",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:04:25.964730",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 16,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit applies the same core punctuation change by adding a comma after \"existence\" within a slightly larger context (\"existence at\" \u2192 \"existence, at\"). This captures the essential intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 17,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit also inserts a comma immediately after \"motionless\" within a larger context (\"motionless when\" \u2192 \"motionless, when\"). This captures the same core punctuation change with additional surrounding words, which is acceptable."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 18,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction adds a comma after \"view\" within a larger context span (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation insertion at the same location (immediately after \"view\"). Additional surrounding words are acceptable, so the essential edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "city",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "reluctant return of",
            "corrected_text": "to reluctant return of",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "liegelord",
            "corrected_text": "liege lord",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:43.047473",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:57:54.403247",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The core intended change in the ground truth is converting \"dryest\" to \"driest\" and inserting \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ...\"). The prediction captures this same essential change: \"dryest snorts\" \u2192 \"driest of snorts.\" Although the prediction omits surrounding context (\"of the\" and the final period), it still reflects the same substantive correction (spelling correction + insertion of \"of\"), which is the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 33,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"now I\" to \"now, I,\" i.e., it inserts a comma after the word \"now\". The prediction changes \"now\" to \"now,\" which captures the same core punctuation insertion (comma after \"now\"). Although the prediction omits the following word \"I\" as context, it still reflects the essential intended edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 36,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both change the same original text \"authorize\" to the same corrected text \"authorise\", capturing the core intended spelling change. Line numbers are to be ignored, so the discrepancy in line_number does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "having",
            "corrected_text": "having,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty sticking",
            "corrected_text": "twenty; sticking",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam; \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him,",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:46.177220",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T12:59:08.303030",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\" edits, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" \u2192 \"driest\" and inserts \"of\" so that \"dryest snorts\" becomes \"driest of snorts\" (within the larger phrase \"of the ... .\"). The predicted edit exactly captures this core transformation: \"dryest snorts\" \u2192 \"driest of snorts\". The prediction omits surrounding context (\"of the\" and the final period), but that is acceptable because it still reflects the essential intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": 33,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"now I\" to \"now, I\", inserting a comma after \"now\". This captures the core intended change precisely. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 36,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the type matches exactly.\n2) Text Content Accuracy: Both specify replacing \"authorize\" with \"authorise\", capturing the same core spelling change. No substantive content differences exist. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "having",
            "corrected_text": "having,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "boiling over",
            "corrected_text": "boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty sticking",
            "corrected_text": "twenty, sticking",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Your own recompense for all this, Mr. Pancks,",
            "corrected_text": "Your own recompense for all this, Mr. Pancks,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam; \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "him",
            "corrected_text": "him,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:54.174715",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:04:40.041207",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and adds \"of\" so that \"dryest snorts\" becomes \"driest of snorts\" (within the larger phrase \"of the ...\"). The predicted edit captures the same core transformation: \"dryest snorts\" \u2192 \"driest of snorts\". Although the prediction omits surrounding context (\"of the\" and the final period), it correctly represents the essential intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 33,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"now\" in the phrase \"now I\" \u2192 \"now, I\". The predicted edit captures the same core change by converting \"now\" \u2192 \"now,\". Although it omits the following word \"I\" in the original/corrected text, it still reflects the essential intended correction: adding a comma after \"now\"."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 36,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\nText Content Accuracy: Both edits replace the same original text \"authorize\" with the same corrected text \"authorise\". This captures the core intended change (American to British spelling) exactly. Line numbers are to be ignored, so the differing line_number does not affect correctness."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "having",
            "corrected_text": "having,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that boiling-over",
            "corrected_text": "that boiling-over",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam; \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "twenty",
            "corrected_text": "twenty;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him,",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now",
            "corrected_text": "now,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:33.504914",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T11:56:50.487569",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The prediction likewise captures the same core punctuation change, \"For Mr.\" \u2192 \"For, Mr.,\" adding a comma after \"For.\" Although the prediction includes less surrounding context (omits \"Pancks\"), it still reflects the essential intended edit: inserting the comma after \"For\" before \"Mr.\""
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 11,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same correction (\"quickly, that\"), inserting a comma after \"quickly.\" The core change is identical."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:38.547819",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T12:59:32.977308",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The predicted edit likewise inserts a comma after \"For\" in the corresponding substring \"For Mr.\" \u2192 \"For, Mr.\". Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change (adding the comma after \"For\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both identify the same original text \"quickly that\" and the same correction \"quickly, that\", inserting a comma after \"quickly\". This captures the core intended punctuation change exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen3_7_plus",
        "date": "2026-07-23T15:42:40.487531",
        "annotator": "Qwen3.7 Plus",
        "annotation_date": "2026-07-23T14:04:20.097655",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit inserts a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks.\" The predicted edit also inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change: adding a comma immediately after \"For.\" Therefore, the text content matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"quickly that\" to \"quickly, that\", inserting a comma after \"quickly\". This captures the core intended punctuation correction exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bed room",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "making me not",
            "corrected_text": "making me, not",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Alibaba",
    "release_date": "2026-05-31",
    "release_source": "https://www.digitalapplied.com/blog/qwen-3-7-plus-alibaba-multimodal-agent-model-2026-release",
    "release_notes": "Multimodal agent model announced 2026-05-31 with general availability 2026-06-01; OpenRouter route appeared 2026-06-03."
  },
  {
    "model_name": "Qwen3.8 Max (0902)",
    "model_id": "or_qwen3_8_max",
    "date": "2026-09-06T03:37:20.863396",
    "shots": 2,
    "config": {
      "model_id": "or_qwen3_8_max",
      "display_name": "Qwen3.8 Max (0902)",
      "shots": 2,
      "temperature": 0.0,
      "reasoning_effort": "high",
      "date": "2026-09-06",
      "notes": "Benchmark run with 2-shot learning at high reasoning effort; images resized/recompressed when needed for the provider request limit"
    },
    "annotator": "Qwen3.8 Max (0902)",
    "annotation_date": "2026-09-06T03:15:56.841739",
    "file_results": [
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:29.423119",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:15:56.841739",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both apply the same core change\u2014adding a period to \"Fellow Travellers\" to make it \"Fellow Travellers.\"\u2014with identical original and corrected text. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same correction (\"howling, over\"), capturing the identical core punctuation change (inserting a comma after \"howling\"). Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which matches the ground truth exactly. Text Content Accuracy: Both ground truth and prediction change \"yonder to-day\" to \"yonder, to-day\" by inserting a comma after \"yonder.\" The core intended punctuation change is captured exactly."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 14,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" (\"pockets and\" \u2192 \"pockets, and\"). The essential punctuation correction is captured correctly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Sir",
            "corrected_text": "s",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:30.040174",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:24:28.043178",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core change\u2014adding a period to \"Fellow Travellers\" to make it \"Fellow Travellers.\" The original and corrected texts are identical between ground truth and prediction, capturing the intended punctuation insertion precisely."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"howling over\" \u2192 \"howling, over\", inserting a comma after \"howling\". This captures the core intended punctuation change with no discrepancy."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"yonder\" in \"yonder to-day\" to make it \"yonder, to-day\". The original and corrected texts align perfectly with the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 14,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"pockets\" in the phrase \"pockets and\" to make it \"pockets, and.\" This captures the essential intended correction. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "Sir",
            "corrected_text": "S",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:30.306136",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:30:02.440041",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Fellow Travellers\" to \"Fellow Travellers.\" by adding a final period. The core intended correction is captured identically. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original_text (\"howling over\") and the same corrected_text (\"howling, over\"), capturing the identical core change of inserting a comma after \"howling\". Therefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the identical core change\u2014adding a comma after \"yonder\". Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 14,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth edit type.\n\nText Content Accuracy: Both ground truth and prediction change \"pockets and\" to \"pockets, and\" by inserting a comma after \"pockets.\" This captures the core intended correction with identical original and corrected text. Line numbers are ignored as instructed, so the discrepancy there does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "sir",
            "corrected_text": "Sir",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:29.441646",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:16:04.464740",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both edits change \"No sir\" to \"No, sir\" by inserting a comma after \"No,\" which captures the core intended correction. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that he might blame",
            "corrected_text": "that he might blame.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones\"",
            "corrected_text": "cold stones?\"",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:28.972107",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:25:30.881898",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"No sir\" to \"No, sir\" by inserting a comma after \"No\". This captures the same core correction. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "cold stones\"",
            "corrected_text": "cold stones?\"",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:34.868663",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:31:17.128248",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "No sir,",
            "corrected_text": "No, sir,",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \u201cNo\u201d (\"No sir\" \u2192 \"No, sir\"). The predicted change also inserts a comma after \u201cNo\u201d (\"No sir,\" \u2192 \"No, sir,\"). Although the prediction includes an extra trailing comma after \u201csir\u201d in both its original and corrected text (additional context not present in the ground truth), the core intended correction\u2014adding the comma after \u201cNo\u201d\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "think why",
            "corrected_text": "think, why",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "that he might blame her father,",
            "corrected_text": "that he might blame her father,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones",
            "corrected_text": "stones?",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:29.560734",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:15:28.379847",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 33,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"capitalization\" and the predicted type is also \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"if he\" to \"If he\", which is specifically capitalizing the initial \"if\" to \"If\". The prediction changes \"if\" to \"If\", capturing the same core intended correction (capitalizing the word \"if\"). Although the prediction omits the following word \"he\", it still correctly represents the essential edit being made: lowercase \"if\" \u2192 uppercase \"If\" at the start of the phrase."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 36,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches.\n\n2. Text Content Accuracy: The ground truth changes the word \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam.\" The prediction captures the same core substitution (\"said\" \u2192 \"asked\"), just with less surrounding context (it omits \"Clennam\"). Since the essential intended change is the same word replacement, the prediction matches the ground truth\u2019s intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:20.400467",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:24:05.471768",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "If",
            "corrected_text": "cap",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:26.817454",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:30:30.549550",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "If he",
            "corrected_text": "if he",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "if he",
            "corrected_text": "If he",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "said Clennam",
            "corrected_text": "asked Clennam",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:35.853733",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:16:05.316021",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same core change\u2014replacing \"high road\" with the hyphenated form \"high-road\". There is no discrepancy in original or corrected text content. Therefore, the predicted edit fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change\u2014adding a comma after \"materials.\" Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 12,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"about and\" to \"about, and\", inserting a comma after \"about\". This captures the core intended correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"association, did\") and the same corrected text (\"association did\"), capturing the core intention of removing the comma. Ignoring line numbers as instructed, the predicted edit matches the ground truth change."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly. Text Content Accuracy: Both edits change \"earnestly telling\" to \"earnestly, telling\" by inserting a comma after \"earnestly\". The original and corrected text strings match the ground truth\u2019s core change exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change from \"said when\" to \"said, when\", i.e., insertion of a comma after \"said\". The core correction is identical. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": 6,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 23,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"said\" to \"said,\", adding a comma after the word. This captures the same core correction with identical original and corrected text.\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": 7,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 27,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"Clennam in\") and the same corrected text (\"Clennam, in\"), capturing the identical core change\u2014adding a comma after \"Clennam.\" Line numbers are ignored as instructed."
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:33.080738",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:25:18.295160",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the edit type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation of the phrase \"high road\" to \"high-road\" (inserting a hyphen). The core change is identical with no discrepancies. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"materials costing\" to \"materials, costing,\" i.e., inserting a comma after \"materials.\" This captures the identical core change with no deviation."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same core correction, changing \"about and\" to \"about, and\" by inserting a comma after \"about.\" This captures the essential intended edit with no substantive discrepancy."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 20,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when.\" The prediction captures the same core change by editing \"said\" \u2192 \"said,\". Although it omits the following word \"when\" as context, it still correctly represents the essential punctuation insertion at the correct location (after \"said\")."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:37.743045",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:30:47.643775",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same transformation from \"high road\" to \"high-road\", capturing the identical core punctuation change (inserting a hyphen). Therefore the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: inserting a comma after \"materials\" in the phrase \"materials costing\" to make it \"materials, costing.\" The core punctuation change is captured identically."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: inserting a comma after \"about\" in the phrase \"about and\" to become \"about, and.\" The original_text and corrected_text match the ground truth\u2019s intended punctuation change. Line number differences are ignored per instructions."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"association, did\") and the same corrected text (\"association did\"), capturing the core intended change: removing the comma after \"association.\" Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": 15,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"earnestly telling\") and the same correction (\"earnestly, telling\"), inserting a comma after \"earnestly\". This captures the core intended change exactly. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 21,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when,\" producing \"said, when.\" The predicted edit changes \"said\" to \"said,\", which captures the essential punctuation insertion (the comma after \"said\"). Although it omits the following word \"when\" from the edit span, it still reflects the same core intended change."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:54.228813",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:16:20.855247",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the edit type matches exactly.\n2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core punctuation change is identical in the prediction and ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:54.057141",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:24:05.410699",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core punctuation change is identical. Therefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:35:55.262642",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:30:16.477961",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both edits change \"Sun and Shadow\" to \"Sun and Shadow.\" by adding a period at the end. The core intended punctuation change is captured identically."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:19.243330",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:21:29.551754",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to \"Let Loose\" to make it \"Let Loose.\" The original and corrected text match the ground truth exactly. Therefore, the predicted edit correctly captures the intended correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma between \"dull\" and \"autumn\" (\"dull autumn\" \u2192 \"dull, autumn\"). The core correction is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"man slowly\") and the same corrected text (\"man, slowly\"), capturing the identical core change: insertion of a comma after \"man\". Ignoring line numbers, the prediction fully matches the ground truth intent."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly. Text Content Accuracy: Both specify the same original_text (\"Chalons was\") and the same corrected_text (\"Chalons, was\"), capturing the core intended change\u2014adding a comma after \"Chalons\". Line number differences are to be ignored, so the prediction matches the ground truth intent."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:25.002978",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:25:50.490019",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"dull autumn\") and the same corrected text (\"dull, autumn\"), capturing the identical core change\u2014adding a comma after \"dull\". Line numbers are ignored as instructed. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both ground truth and prediction change the phrase from \"man slowly\" to \"man, slowly\", inserting a comma after \"man\". This captures the same core punctuation correction with identical original and corrected text. (Line numbers are ignored as instructed.)"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both edits change the phrase from \"Chalons was\" to \"Chalons, was,\" inserting a comma after \"Chalons.\" This captures the core intended correction precisely. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI.",
            "corrected_text": "Chapter XI",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose.",
            "corrected_text": "Let Loose",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone.",
            "corrected_text": "river Sa\u00f4ne.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "river Saone",
            "corrected_text": "river Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:22.925153",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:31:30.300523",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\nText Content Accuracy: Both specify the same core change: adding a period to \"Let Loose\" to make it \"Let Loose.\". The original_text and corrected_text match the ground truth\u2019s intention precisely.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: inserting a comma between \"dull\" and \"autumn\" (\"dull autumn\" \u2192 \"dull, autumn\"). The original and corrected texts match exactly, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\nText Content Accuracy: Both specify the same original text (\"man slowly\") and the same corrected text (\"man, slowly\"), inserting a comma after \"man\". This captures the core intended change exactly. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": 8,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"Chalons was\") and the same corrected text (\"Chalons, was\"), capturing the identical core change\u2014adding a comma after \"Chalons.\" Line numbers are ignored as instructed, so there is no discrepancy affecting correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XI",
            "corrected_text": "Chapter XI.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "sodden with",
            "corrected_text": "soddened with",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:19.819827",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:16:36.548211",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change inserts a comma after \"heart\" in the phrase \"heart so\" \u2192 \"heart, so.\" The predicted edit does the same core change within a slightly longer span: \"heart so much\" \u2192 \"heart, so much.\" This includes additional context words (\"much\") but preserves the essential punctuation correction (adding the comma after \"heart\" before \"so\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: removing the comma after \"generous\" in \"generous, Mr.\" to make it \"generous Mr.\". The original_text and corrected_text are identical between ground truth and prediction, capturing the core intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 32,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"length\" in the phrase \"length said\" \u2192 \"length, said.\" The prediction inserts the same comma after \"length\" but includes extra surrounding context: \"at length said\" \u2192 \"at length, said.\" This preserves the core intended punctuation change (adding a comma after \"length\" before \"said\").\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 35,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"replacement\", so the edit type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"I hope so\") and the same corrected text (\"I hoped so\"), capturing the identical core change (present tense \"hope\" to past tense \"hoped\"). Any difference in line number is to be ignored per instructions. Therefore, the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "earnestness) she",
            "corrected_text": "earnestness), she",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "face, with some hurried words to the effect that she thanked him from her heart (as she did, if it be the source of earnestness), she gradually",
            "corrected_text": "face, with some hurried words to the effect that she thanked him from her heart (as she did, if it be the source of earnestness), indeed she gradually",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:21.655860",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:26:02.528467",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The prediction also inserts a comma after \"heart\" while including extra surrounding context (\"heart so much\" \u2192 \"heart, so much\"). This captures the same core punctuation change intended by the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"generous, Mr.\") and the same corrected text (\"generous Mr.\"), capturing the intended removal of the comma after \"generous\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma between \u201clength\u201d and \u201csaid\u201d (\"length said\" \u2192 \"length, said\"). The prediction does the same core punctuation insertion, just with additional surrounding context (\"at length said\" \u2192 \"at length, said\"). This captures the same intended edit: adding a comma after \u201clength\u201d before \u201csaid.\u201d"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 32,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the original text \"I hope so\" with the corrected text \"I hoped so\". This captures the exact core change (tense shift from present to past). Line numbers are ignored as instructed.\nTherefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as she did, if it be the source of earnestness), she gradually composed herself",
            "corrected_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart indeed (as she did, if it be the source of earnestness), she gradually composed herself",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:23.589477",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:32:26.639550",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "heart so much",
            "corrected_text": "heart, so much",
            "observed_line_number": 8,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"heart\" (\"heart so\" \u2192 \"heart, so\"). The prediction also inserts a comma after \"heart\" while including extra surrounding context (\"heart so much\" \u2192 \"heart, so much\"). The essential punctuation change is the same, so the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": 22,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits have type \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same change: removing the comma after \"generous\" in the phrase \"generous, Mr.\" to become \"generous Mr.\". The original_text and corrected_text match the ground truth exactly, capturing the core intended punctuation correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "at length said",
            "corrected_text": "at length, said",
            "observed_line_number": 30,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: The ground truth inserts a comma between \"length\" and \"said\" (\"length said\" \u2192 \"length, said\"). The prediction performs the same core change, inserting a comma after \"length\" before \"said,\" but includes additional surrounding context (\"at length said\" \u2192 \"at length, said\"). This preserves the essential intended punctuation correction. Therefore, the prediction captures the ground truth edit\u2019s intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": 32,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both edits replace the exact same original text \"I hope so\" with the corrected text \"I hoped so.\" This captures the same core change (tense shift from present to past). Line numbers are ignored as instructed, so the mismatch there does not affect correctness."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as she did, if it be the source of earnestness), she gradually composed herself",
            "corrected_text": "tially up into his face, with some hurried words to the effect that she thanked him from her heart (as she did, if it be the source of earnestness), indeed, she gradually composed herself",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:14.349046",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:16:45.356829",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "from hers and",
            "corrected_text": "from hers, and",
            "observed_line_number": 11,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" in the phrase \"hers and\" \u2192 \"hers, and.\" The prediction applies the same core punctuation change (adding a comma after \"hers\") but includes extra surrounding context: \"from hers and\" \u2192 \"from hers, and.\" This preserves the essential intended correction.\n\nTherefore, the predicted edit correctly captures the intention of the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "on hers matters",
            "corrected_text": "on hers, matters",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"hers\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction applies the same core change, just with extra preceding context (\"on hers matters\" \u2192 \"on hers, matters\"). The essential punctuation insertion is correctly captured.\n\nTherefore, the predicted edit matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "At this, he thought directly,",
            "corrected_text": "At this, he thought directly, (Cap)",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they are to be married",
            "corrected_text": "They are to be married",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:23.035213",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:26:03.748051",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 14,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and predicted edit have type \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same change from \"hers and\" to \"hers, and\", correctly capturing the core intended punctuation insertion (a comma after \"hers\"). Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original_text (\"hers matters\") and the same corrected_text (\"hers, matters\"), capturing the identical core change: inserting a comma after \"hers\". Line number differences are to be ignored, so the prediction matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: inserting a comma after \"moment\" in the phrase \"moment with\", resulting in \"moment, with\". The core punctuation change is identical. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 26,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"beautiful\" in the phrase \"beautiful that,\" yielding \"beautiful, that.\" The original and corrected text content align with the ground truth\u2019s intended punctuation change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "hesitation, that papa had abandoned the idea. At this, he thought directly, \"They are to be married.\"",
            "corrected_text": "hesitation, that papa had abandoned the idea. At this, he thought directly, \"They are to be married.\"",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:18.788763",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:32:02.776327",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": 10,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"hers and\") and the same corrected text (\"hers, and\"), capturing the identical core change\u2014adding a comma after \"hers\". Ignoring line numbers as instructed, the prediction fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": 12,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: The ground truth change is inserting a comma between \"hers\" and \"matters\" (\"hers matters\" \u2192 \"hers, matters\"). The prediction reflects the same original and corrected text, capturing the identical core punctuation change. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "hesitation, that papa had abandoned the idea. At this, he thought directly, \"They are to be married.\"",
            "corrected_text": "hesitation, that papa had abandoned the idea. At this, he thought directly, \"They are to be married.\"",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "At this, he thought directly, \"they",
            "corrected_text": "At this, he thought directly, \"They",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:27.976065",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:16:38.479010",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 22,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same original text \"shore and\" and the same corrected text \"shore, and\", capturing the identical core change (inserting a comma after \"shore\"). No additional or missing changes are present.\n\nTherefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you!\" murmured",
            "corrected_text": "\"Thank you,\" murmured",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "greater things that once were",
            "corrected_text": "greater things than once were",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "and that, in our fancy, whatever Pet was,",
            "corrected_text": "and that in our fancy whatever Pet was,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:17.893960",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:25:25.532212",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "\"Thank you!\" murmured",
            "corrected_text": "\"Thank you,\" murmured",
            "observed_line_number": 14,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: The ground truth edit type is \"punctuation,\" and the predicted edit type is also \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes the punctuation after \"Thank you\" from an exclamation point to a comma (\"Thank you!\" \u2192 \"Thank you,\"). The prediction applies the same core change within a larger quoted phrase (\"\\\"Thank you!\\\" murmured\" \u2192 \"\\\"Thank you,\\\" murmured\"). Although it includes additional surrounding context (quotes and the word \"murmured\"), the essential edit\u2014replacing ! with , after \"Thank you\"\u2014is correctly captured."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in",
            "corrected_text": "that, in",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:33.869930",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:32:00.056979",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": 24,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"punctuation,\" which exactly matches the ground truth type.\nText Content Accuracy: Both ground truth and prediction change \"shore and\" to \"shore, and,\" inserting a comma after \"shore.\" This captures the core intended correction precisely. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy whatever",
            "corrected_text": "that, in our fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "that in our fancy whatever",
            "corrected_text": "that, in our fancy, whatever",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you!\" murmured",
            "corrected_text": "Thank you!\" murmured",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "is now.\"",
            "corrected_text": "is now.\" \"Thank you,\"",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 27,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:37:17.778692",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:16:37.125255",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change\u2014adding a period to make \"Chapter XXIX\" become \"Chapter XXIX.\". The original and corrected texts are identical between ground truth and prediction, capturing the intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"city\" is corrected to \"City\". There is no discrepancy in original or corrected text. Therefore, the predicted edit fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": 4,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both the ground truth and the predicted edit are of type \"replacement\", so the edit type matches exactly.\n\n2) Text Content Accuracy: Both specify replacing the original text \"of\" with the corrected text \"to\". This captures the same core change intended by the ground truth.\n\nTherefore, the predicted edit correctly matches the ground truth intention when line numbers are ignored."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction applies the same core change within a slightly larger context (\"existence at\" \u2192 \"existence, at\"), which still places the comma immediately after \"existence\". The additional word \"at\" is just extra context and does not change the essential intended correction.\n\nTherefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth edit is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The predicted edit adds a comma immediately after \"motionless\" as well, using additional surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This captures the same core intended change (inserting a comma after \"motionless\").\n\nTherefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": 5,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 14,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth inserts a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change by inserting a comma immediately after \"view\" within a larger phrase (\"view by\" \u2192 \"view, by\"). This added context does not alter the essential edit; it correctly captures the intended punctuation insertion."
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 18,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:37:20.863396",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:25:58.838481",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as a \"capitalization\" edit, so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation from \"city\" to \"City\". The core change (capitalizing the first letter) is identical. Therefore, the prediction captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "existence at",
            "corrected_text": "existence, at",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma immediately after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The prediction also inserts a comma immediately after \"existence\", but includes additional surrounding context (\"existence at\" \u2192 \"existence, at\"). This captures the same core punctuation change intended in the ground truth.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core change\u2014adding a comma immediately after \"motionless\"\u2014but includes additional surrounding context (\"motionless when\" \u2192 \"motionless, when\"). This captures the essential intended punctuation correction.\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "view by",
            "corrected_text": "view, by",
            "observed_line_number": 14,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction adds a comma after \"view\" as well, using a slightly longer span for context (\"view by\" \u2192 \"view, by\"). This captures the same core punctuation insertion at the same location (immediately after \"view\").\n\nTherefore, the predicted edit correctly reflects the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "return of",
            "corrected_text": "return of",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "each recurring",
            "corrected_text": "to each recurring",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it to",
            "corrected_text": "it; to",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still to",
            "corrected_text": "stand-still; to",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence is",
            "corrected_text": "existence; is",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:37:17.945378",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:31:54.798050",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": 0,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"Chapter XXIX\" to \"Chapter XXIX.\", adding a period at the end. The core intended change is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are of type \"capitalization\", so the edit type matches exactly.\n2) Text Content Accuracy: Both specify changing \"city\" to \"City\". The core intended change (capitalizing the word) is identical. Therefore, the prediction correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "busy existence at",
            "corrected_text": "busy existence, at",
            "observed_line_number": 12,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is adding a comma after the word \"existence\" (\"existence\" \u2192 \"existence,\"). The predicted edit adds a comma after \"existence\" within a longer surrounding phrase (\"busy existence at\" \u2192 \"busy existence, at\"). This captures the same essential punctuation insertion at the same target word, with additional context included. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "motionless when",
            "corrected_text": "motionless, when",
            "observed_line_number": 13,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is to add a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). The prediction applies the same core punctuation change, adding a comma immediately after \"motionless\" within a slightly larger context (\"motionless when\" \u2192 \"motionless, when\"). Including the following word as context does not alter the essential edit; it still correctly captures the intended insertion of a comma after \"motionless.\""
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "beyond our view by",
            "corrected_text": "beyond our view, by",
            "observed_line_number": 14,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: The ground truth edit type is \"punctuation\" and the predicted edit type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth indicates inserting a comma after the word \"view\" (\"view\" \u2192 \"view,\"). The prediction applies the same core change within a larger phrase (\"beyond our view by\" \u2192 \"beyond our view, by\"), which still represents inserting a comma immediately after \"view\". The added surrounding context does not change the essential edit, so the content matches the ground truth intention."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Mrs. Flintwinch goes on Dreaming",
            "corrected_text": "Mrs. Flintwinch goes on Dreaming.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege lord",
            "corrected_text": "liege-lord",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "each recurring with its accompanying monotony, always the same reluctant return of",
            "corrected_text": "to",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "familiar with them",
            "corrected_text": "familiar with them;",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "from it",
            "corrected_text": "from it;",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "a stand-still",
            "corrected_text": "a stand-still;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "contracted existence is",
            "corrected_text": "contracted existence; is",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:46.861730",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:17:18.568730",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as a \"replacement,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts an additional \"of\" to make the phrase \"driest of snorts\" (within the larger string \"of the ... .\"). The prediction makes the same core change: \"dryest snorts\" \u2192 \"driest of snorts.\" Although the prediction omits surrounding context (\"of the\" and the final period), it still captures the essential intended correction (spelling change + insertion of \"of\"). Therefore, the text-content intention matches."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam, \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "been a little premature.",
            "corrected_text": "been a little premature",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty: sticking",
            "corrected_text": "at twenty, sticking",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him, than out of a ninepin.",
            "corrected_text": "benevolence bubbling out of him, than out of a ninepin.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now to break",
            "corrected_text": "you, now, to break",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:48.642183",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:27:41.425070",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are of type \"replacement\", so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts an additional \"of\" to make the phrase \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit likewise changes \"dryest\" \u2192 \"driest\" and adds \"of\" before \"snorts\" (\"dryest snorts\" \u2192 \"driest of snorts\"). Although the prediction omits surrounding context (\"of the\" and the final period), it captures the core intended change accurately, and punctuation/context can remain outside the replaced span.\n\nTherefore, the prediction correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam, \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "premature.",
            "corrected_text": "premature,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty: sticking",
            "corrected_text": "at twenty, sticking",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him, than out of a ninepin.",
            "corrected_text": "benevolence bubbling out of him, than out of a ninepin.",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorize",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now to break",
            "corrected_text": "you, now, to break",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:54.840234",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:34:00.266320",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "replacement",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 5,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1. Edit Type Accuracy: Both ground truth and predicted edits are labeled as a \"replacement,\" so the edit type matches exactly.\n\n2. Text Content Accuracy: The ground truth changes \"dryest\" to \"driest\" and inserts \"of\" to make the phrase read \"driest of snorts\" (within the larger context \"of the ... .\"). The predicted edit also changes \"dryest snorts\" to \"driest of snorts,\" capturing the same essential correction (spelling correction plus insertion of \"of\"). Differences in included surrounding context (omitting the leading \"of the\" and the period, which are unchanged in the ground truth) do not alter the core intended edit.\n\nTherefore, the prediction correctly captures the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam; \"not",
            "corrected_text": "Clennam, \"not",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "been a little premature",
            "corrected_text": "been a little premature.",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "at twenty: sticking",
            "corrected_text": "at twenty, sticking",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him, than out of a ninepin.",
            "corrected_text": "benevolence bubbling out of him, than out of a ninepin.",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "now I have paid it",
            "corrected_text": "now, I have paid it",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorise",
            "corrected_text": "authorise",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "you now to break",
            "corrected_text": "you, now, to break",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:45.440689",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:18:17.774952",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The ground truth type is \"punctuation\" and the predicted type is also \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is the insertion of a comma after \"For\" (\"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\"). The prediction likewise inserts a comma after \"For\" (\"For Mr.\" \u2192 \"For, Mr.\"). Although the prediction includes less surrounding context (it stops at \"Mr.\" rather than including \"Pancks\"), it captures the same essential punctuation correction: adding a comma immediately after \"For\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly.\n\nText Content Accuracy: Both specify the same original segment (\"quickly that\") and the same correction (\"quickly, that\"), capturing the intended insertion of a comma after \"quickly\". Line number differences are ignored as instructed. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 the core change matches."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bedXroom",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:49.341059",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:27:24.016290",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes \"For Mr. Pancks\" to \"For, Mr. Pancks\"\u2014i.e., it inserts a comma after \"For\" before \"Mr.\". The prediction changes \"For Mr.\" to \"For, Mr.\" which captures the same essential punctuation change (adding a comma after \"For\"). Although the prediction includes less surrounding context (it omits \"Pancks\"), it still reflects the core intended edit accurately."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\n\nText Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the identical core change\u2014adding a comma after \"quickly\". Any line number difference is to be ignored, so the content matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me, not",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_qwen3_8_max",
        "date": "2026-09-06T03:36:57.038337",
        "annotator": "Qwen3.8 Max (0902)",
        "annotation_date": "2026-09-06T03:34:34.975029",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For Mr.",
            "corrected_text": "For, Mr.",
            "observed_line_number": 2,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"For\" in the phrase \"For Mr. Pancks\" \u2192 \"For, Mr. Pancks\". The prediction similarly inserts a comma after \"For\" in \"For Mr.\" \u2192 \"For, Mr.\". Although the prediction truncates the surrounding context (it omits \"Pancks\"), it captures the core intended punctuation change: adding the comma between \"For\" and \"Mr.\"."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": 10,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same original text (\"quickly that\") and the same corrected text (\"quickly, that\"), capturing the exact intended insertion of a comma after \"quickly\". Line numbers are ignored as instructed, so there is no mismatch affecting correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bedXroom",
            "corrected_text": "bedroom",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "me not",
            "corrected_text": "me; not",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "Alibaba",
    "release_date": "2026-09-03",
    "release_source": "https://openrouter.ai/qwen/qwen3.8-max",
    "release_notes": "OpenRouter's 0902 snapshot of Qwen3.8 Max. Benchmark configuration uses high reasoning effort.",
    "display_suffix": "*",
    "display_note": "Images are resized/recompressed when needed to stay below the provider's request payload limit."
  },
  {
    "model_name": "Step 3.7 Flash",
    "model_id": "or_step_3_7_flash",
    "date": "2026-07-23T15:52:34.992443",
    "shots": 2,
    "config": {
      "model_id": "or_step_3_7_flash",
      "display_name": "Step 3.7 Flash",
      "shots": 2,
      "temperature": 0.0,
      "date": "2026-07-23",
      "notes": "Benchmark run with 2-shot learning"
    },
    "annotator": "Step 3.7 Flash",
    "annotation_date": "2026-07-23T12:07:59.515858",
    "file_results": [
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:50:44.198664",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:07:59.515858",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the core intended change\u2014adding a comma after \"howling.\" Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 2,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the core intended change of inserting a comma after \"yonder\". Line numbers are ignored as instructed, so this does not affect correctness."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir is",
            "corrected_text": "sir; is",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:02.318956",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:10:13.128211",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling",
            "corrected_text": "howling,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"howling\" in the phrase \"howling over\" (\"howling over\" \u2192 \"howling, over\"). The prediction captures the same core change by editing \"howling\" to \"howling,\", i.e., adding the comma in the correct location. Although the prediction omits the following word \"over\" from its context, it still reflects the essential intended punctuation correction."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder",
            "corrected_text": "yonder,",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth inserts a comma after \"yonder\" in the phrase \"yonder to-day\" \u2192 \"yonder, to-day\". The predicted edit \"yonder\" \u2192 \"yonder,\" captures the same essential punctuation change (adding a comma immediately after \"yonder\"). Although it omits the following word \"to-day\" as context, it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets",
            "corrected_text": "pockets,",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"pockets\" in the phrase \"pockets and,\" yielding \"pockets, and.\" The predicted edit changes \"pockets\" to \"pockets,\", which captures the same core punctuation insertion (a comma immediately following \"pockets\"). Although it omits the following word \"and\" from the context, it still represents the essential intended change."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "to-day",
            "corrected_text": "to-day,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "none",
            "corrected_text": "none.",
            "observed_line_number": 3,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir;",
            "corrected_text": "sir,",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:50:49.879191",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:25:30.154681",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "howling over",
            "corrected_text": "howling, over",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"howling over\") and the same corrected text (\"howling, over\"), capturing the exact intended change: inserting a comma after \"howling\". Therefore, the core change matches the ground truth."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "yonder to-day",
            "corrected_text": "yonder, to-day",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both specify the same original text (\"yonder to-day\") and the same corrected text (\"yonder, to-day\"), capturing the core change of inserting a comma after \"yonder\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "pockets and",
            "corrected_text": "pockets, and",
            "observed_line_number": 17,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same transformation: \"pockets and\" \u2192 \"pockets, and\", inserting a comma after \"pockets\". The core change is identical and fully matches the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia, so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sir; is",
            "corrected_text": "sir, is",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Fellow Travellers",
            "corrected_text": "Fellow Travellers.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "Sir",
            "corrected_text": "sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "003"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:50:45.025574",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:07:24.203098",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 28,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word of the phrase (\"why did he dine\" \u2192 \"Why did he dine\"). The prediction applies the same essential change by capitalizing \"why\" \u2192 \"Why\". Although it provides less surrounding context, it captures the core intended edit (capitalizing the first word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones",
            "corrected_text": "stones?",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:50:38.033198",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:10:01.687333",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "to-day",
            "corrected_text": "To-day",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 47,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "why did he dine",
            "corrected_text": "Why did he dine",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:50:40.070502",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:25:02.986363",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "capitalization",
            "original_text": "why",
            "corrected_text": "Why",
            "observed_line_number": 25,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth corrects the lowercase sentence-start \"why\" to uppercase \"Why\" in the phrase \"why did he dine\" \u2192 \"Why did he dine.\" The prediction captures the same core change by specifying \"why\" \u2192 \"Why\". Although it includes less surrounding context, it still reflects the essential intended correction (capitalizing the initial word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stones\"",
            "corrected_text": "stones?\"",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "No sir",
            "corrected_text": "No, sir",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "cold stones!",
            "corrected_text": "cold stones?",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "004"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:50:49.245379",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:07:23.978169",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he.\" The prediction captures the same essential change by capitalizing \"if\" \u2192 \"If.\" Although it includes less surrounding context (omitting \"he\"), it still reflects the core intended edit: capitalizing \"if\" at the start of the phrase/sentence."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb phrase from \"said Clennam\" to \"asked Clennam\". The prediction changes \"said\" to \"asked\" while leaving \"Clennam\" implicit/unchanged. This captures the core intended change (replacing \"said\" with \"asked\"), and omitting the unchanged surrounding word(s) is acceptable under the criteria."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:50:49.966291",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:09:19.844499",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"capitalization\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is capitalizing the initial \"if\" in the phrase \"if he\" \u2192 \"If he\". The predicted edit specifies \"if\" \u2192 \"If\", which captures the same core correction (capitalizing the word \"if\"). Although it includes less surrounding context (omitting \"he\"), it still reflects the essential intended change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth replaces \"said\" with \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core intended change by replacing \"said\" \u2192 \"asked\". Although it omits the surrounding context word \"Clennam\" in the original/corrected_text fields, it still reflects the essential substitution required by the ground truth. Therefore, the text content matches the ground truth's intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:50:43.530879",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:24:46.907392",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "if",
            "corrected_text": "If",
            "observed_line_number": 36,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"capitalization\", so the edit type matches exactly.\n\n2) Text Content Accuracy: The ground truth capitalizes the initial word in the phrase \"if he\" \u2192 \"If he\". The prediction captures the same core change by capitalizing \"if\" \u2192 \"If\". Although it omits the following word \"he\" as context, it still correctly represents the essential intended correction (capitalizing the first word)."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "said",
            "corrected_text": "asked",
            "observed_line_number": 39,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are \"replacement\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth changes the verb from \"said\" to \"asked\" in the phrase \"said Clennam\" \u2192 \"asked Clennam\". The prediction captures the core intended change by replacing \"said\" with \"asked\"; omitting the surrounding context (\"Clennam\") does not alter the essential correction. Therefore, the text content matches the ground truth's intention."
          }
        ],
        "file_id": "005"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:19.362680",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:08:12.366116",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\n\nText Content Accuracy: Both ground truth and prediction change \"high road\" to \"high-road\" (inserting a hyphen between the words). The core intended correction is captured exactly with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"materials\" in the phrase \"materials costing\" \u2192 \"materials, costing.\" The predicted edit \"materials\" \u2192 \"materials,\" captures the same core punctuation change (adding the comma immediately after \"materials\"). Although it omits the following word \"costing\" as context, it still reflects the essential intended correction."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": 23,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"said\" to transform \"said when\" into \"said, when.\" The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": 3,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same core change: \"said\" is corrected to \"said,\" by adding a comma. There is no discrepancy in the original or corrected text. Therefore, the prediction fully captures the ground truth intention."
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": 4,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": 29,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. Text Content Accuracy: Both apply the same core change\u2014adding a comma after \"Clennam\" in the phrase \"Clennam in\", resulting in \"Clennam, in\". The original and corrected texts match exactly, capturing the intended punctuation insertion."
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well; but",
            "corrected_text": "well, but",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 46,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "tion",
            "corrected_text": "",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:09.955943",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:11:17.205966",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit type as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: Both specify the same change from \"high road\" to \"high-road,\" capturing the identical core punctuation/hyphenation correction. No discrepancy in original or corrected text.\n\nTherefore, the predicted edit correctly matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials costing",
            "corrected_text": "materials, costing",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same original text (\"materials costing\") and the same corrected text (\"materials, costing\"), capturing the identical core change: insertion of a comma after \"materials\". Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "tossed about",
            "corrected_text": "tossed about,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": ",",
            "corrected_text": ".",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "so",
            "corrected_text": "So",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "said,",
            "corrected_text": "said;",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "about and",
            "corrected_text": "about, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said when",
            "corrected_text": "said, when",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:24.759195",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:26:44.065595",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "materials",
            "corrected_text": "materials,",
            "observed_line_number": 3,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"materials\" in the phrase \"materials costing\" \u2192 \"materials, costing.\" The prediction captures the same core punctuation change by editing \"materials\" \u2192 \"materials,\". Although it omits the following word \"costing\" from the span, it still correctly represents the essential intended edit (comma insertion after \"materials\")."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "about",
            "corrected_text": "about,",
            "observed_line_number": 13,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after \"about\" in the phrase \"about and\" \u2192 \"about, and\". The predicted edit \"about\" \u2192 \"about,\" captures the same core punctuation change (adding a comma immediately after \"about\"). Although it omits the following word \"and\" from the span, the essential intended correction\u2014a comma after \"about\" before \"and\"\u2014is correctly represented."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": 2,
            "tp": 0.6,
            "fp": 0.2,
            "fn": 0.2,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": 25,
            "line_diff": 2,
            "line_number_penalty": 0.4,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth change is inserting a comma after the word \"said\" in the phrase \"said when\" \u2192 \"said, when\". The predicted edit \"said\" \u2192 \"said,\" captures the same essential punctuation insertion (comma immediately after \"said\"). Although it omits the following word \"when\" from the context, it still reflects the core intended correction."
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "he",
            "corrected_text": "He",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white",
            "corrected_text": "white,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "well",
            "corrected_text": "well;",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "amazement",
            "corrected_text": "amazement.",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Vecchia",
            "corrected_text": "Vecchia.",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "high-road",
            "corrected_text": "high-road",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "association, did",
            "corrected_text": "association did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "earnestly telling",
            "corrected_text": "earnestly, telling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "said",
            "corrected_text": "said,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam in",
            "corrected_text": "Clennam, in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "high road",
            "corrected_text": "high-road",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "006"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:07.769112",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:07:11.278473",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "SHADOW.",
            "corrected_text": "SHADOW",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:08.383267",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:09:31.520129",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "Chapter I",
            "corrected_text": "Chapter I.",
            "observed_line_number": 0,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "SUN AND SHADOW",
            "corrected_text": "SUN AND SHADOW.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:18.277339",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:24:52.679783",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "SHADOW",
            "corrected_text": "SHADOW.",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Sun and Shadow",
            "corrected_text": "Sun and Shadow.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "007"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:08.259017",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:08:22.463800",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "So",
            "corrected_text": "so",
            "observed_line_number": 37,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:21.462541",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:10:00.500104",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Chalons lay",
            "corrected_text": "Chalons, lay",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "soddened",
            "corrected_text": "sodden",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:38.738782",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:25:20.462609",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "man slowly",
            "corrected_text": "man, slowly",
            "observed_line_number": 9,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the change as \"punctuation\", so the type matches exactly. 2) Text Content Accuracy: Both specify the same transformation from \"man slowly\" to \"man, slowly\", inserting a comma after \"man\". The essential punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "Sa\u00f4ne",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "sodden with",
            "corrected_text": "sodden, with",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Let Loose",
            "corrected_text": "Let Loose.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "dull autumn",
            "corrected_text": "dull, autumn",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chalons was",
            "corrected_text": "Chalons, was",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "Saone",
            "corrected_text": "Sa\u00f4ne",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "poplar trees",
            "corrected_text": "poplar-trees,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "sodden",
            "corrected_text": "soddened",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "008"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:36.607964",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:07:48.049764",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart",
            "corrected_text": "heart,",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and predicted edits are labeled as \"punctuation,\" so the type matches exactly.\n\n2) Text Content Accuracy: The ground truth intends to insert a comma after the word \"heart\" (changing \"heart so\" to \"heart, so\"). The predicted edit changes \"heart\" to \"heart,\" which captures the same core correction: adding a comma immediately after \"heart.\" The omission of the following word \"so\" in the predicted span does not alter the essential intended punctuation change."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.09999999999999998,
            "fp": 0.45,
            "fn": 0.45,
            "type": "punctuation",
            "original_text": "length",
            "corrected_text": "length,",
            "observed_line_number": 28,
            "line_diff": 3,
            "line_number_penalty": 0.9,
            "judgement": "1. Edit Type Accuracy: Both ground truth and prediction are labeled as \"punctuation\", so the type matches exactly.\n\n2. Text Content Accuracy: The ground truth change inserts a comma after the word \"length\" in the phrase \"length said\" \u2192 \"length, said\". The prediction captures the same core punctuation change by editing \"length\" \u2192 \"length,\". Although it omits the following word \"said\", it still accurately represents the essential intended correction (adding a comma after \"length\")."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes",
            "corrected_text": "eyes,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white",
            "corrected_text": "white,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 33,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "So",
            "corrected_text": "so",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:28.274636",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:10:57.559319",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "generous Mr.",
            "corrected_text": "generous, Mr.",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "heart",
            "corrected_text": "heart,",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "confidently",
            "corrected_text": "indeed confidently",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": 21,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "I hoped",
            "corrected_text": "I hoped so",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:33.396981",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:25:33.745669",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "confidently up",
            "corrected_text": "confidently indeed up",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "as she did",
            "corrected_text": "she did",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "I hoped",
            "corrected_text": "I had hoped",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "heart so",
            "corrected_text": "heart, so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "generous, Mr.",
            "corrected_text": "generous Mr.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "as she did",
            "corrected_text": "as indeed she did",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "length said",
            "corrected_text": "length, said",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "I hope so",
            "corrected_text": "I hoped so",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "009"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:54.568123",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:10:14.449549",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": 32,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The predicted edit type is \"capitalization,\" which exactly matches the ground truth.\n\nText Content Accuracy: The ground truth changes \"they\" to \"They\" (capitalizing the first letter). The predicted edit makes the identical change (\"they\" \u2192 \"They\"). This captures the core intended correction with no discrepancy."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 48,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia, So",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 50,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "hers)",
            "corrected_text": "hers",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "hers)",
            "corrected_text": "hers",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "moment)",
            "corrected_text": "moment",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:08.196420",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:11:44.493033",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": 25,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation\", so the type matches exactly.\n2) Text Content Accuracy: Both specify the same change: inserting a comma after \"beautiful\" in the phrase \"beautiful that\" to become \"beautiful, that\". The core punctuation change is identical. Therefore, the predicted edit correctly captures the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "at this",
            "corrected_text": "At this",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "hers)",
            "corrected_text": "hers,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "hers)",
            "corrected_text": "hers",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "moment)",
            "corrected_text": "moment,",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "directly, they",
            "corrected_text": "directly, \"they",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:04.909705",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:26:26.701210",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "At",
            "corrected_text": "At",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "hers)",
            "corrected_text": "hers",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "hers)",
            "corrected_text": "hers",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "moment)",
            "corrected_text": "moment",
            "observed_line_number": 23,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "beautiful that",
            "corrected_text": "beautiful, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "they",
            "corrected_text": "They",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers and",
            "corrected_text": "hers, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "hers matters",
            "corrected_text": "hers, matters",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "moment with",
            "corrected_text": "moment, with",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "010"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:04.569539",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:10:06.562587",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction specify a \"replacement\" edit type, so the type matches exactly. 2) Text Content Accuracy: Both indicate replacing the original text \"that\" with the corrected text \"than\". The core intended change is identical. Therefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "shore,",
            "corrected_text": "shore,,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia, so",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "in",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "\"Thank you,\"",
            "corrected_text": "\"Thank you,\",",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:02.297380",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:12:30.182486",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 33,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: The ground truth edit type is a \"replacement\" and the predicted edit type is also \"replacement\", so the type matches exactly. Text Content Accuracy: Both specify replacing the original text \"that\" with the corrected text \"than\". This captures the same core change with no discrepancy. Therefore, the predicted edit matches the ground truth intention."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "that",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "whatever",
            "corrected_text": "",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": ".",
            "corrected_text": "",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:51:54.474864",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:27:11.045507",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "and that in our fancy",
            "corrected_text": "and in our fancy",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fancy whatever",
            "corrected_text": "fancy, whatever",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "...is now.\"\"",
            "corrected_text": "...is now.\" \"Thank you.\"\"",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Thank you,",
            "corrected_text": "Thank you",
            "observed_line_number": 7,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": 12,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that, in",
            "corrected_text": "that in",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "fancy, whatever",
            "corrected_text": "fancy whatever",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Thank you!",
            "corrected_text": "Thank you,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "shore and",
            "corrected_text": "shore, and",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "within doors",
            "corrected_text": "within-doors",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "that",
            "corrected_text": "than",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "011"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:23.375044",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:10:12.111134",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": 10,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "Edit Type Accuracy: Both ground truth and prediction label the change as a \"punctuation\" edit, so the type matches exactly.\nText Content Accuracy: Both specify the same core punctuation change: \"them,\" is corrected to \"them;\". The original and corrected texts match the ground truth\u2019s intended change precisely.\nTherefore, the predicted edit correctly captures the ground truth edit."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 1.0,
            "fp": 0.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 18,
            "line_diff": 0,
            "line_number_penalty": 0.0,
            "judgement": "1) Edit Type Accuracy: The predicted type is \"punctuation,\" which matches the ground truth exactly.\n\n2) Text Content Accuracy: The ground truth intends to change the punctuation following the word \"existence\" from a comma to a semicolon (\"existence,\" \u2192 \"existence;\"). The prediction outputs \"existence\" \u2192 \"existence;\"\u2014it omits the comma in the original_text, but it still captures the core intended correction: the punctuation after \"existence\" should be a semicolon. Since the essential change (ending the word with a semicolon instead of the prior punctuation) is correctly represented, the prediction matches the ground truth\u2019s intention."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "THE",
            "corrected_text": "THE",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "days",
            "corrected_text": "days,",
            "observed_line_number": 13,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "city",
            "corrected_text": "to",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it;",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless;",
            "observed_line_number": 15,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege",
            "corrected_text": "liege,",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:08.215627",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:12:29.939143",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes",
            "corrected_text": "eyes,",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "but",
            "corrected_text": "but,",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "view,",
            "corrected_text": "view;",
            "observed_line_number": 22,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 24,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "recluses.",
            "corrected_text": "recluses;",
            "observed_line_number": 25,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liegelord",
            "corrected_text": "liegelord;",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Vecchia.",
            "corrected_text": "Vecchia,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "city",
            "corrected_text": "to city",
            "observed_line_number": 1,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence)",
            "corrected_text": "existence;",
            "observed_line_number": 20,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:34.992443",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:27:27.995955",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": 0,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "motionless",
            "corrected_text": "motionless,",
            "observed_line_number": 16,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "1) Edit Type Accuracy: Both ground truth and prediction label the edit as \"punctuation,\" so the type matches exactly. 2) Text Content Accuracy: Both specify the same core change: adding a comma after the word \"motionless\" (\"motionless\" \u2192 \"motionless,\"). This captures the essential intended correction. Line numbers are ignored as instructed."
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": 1,
            "tp": 0.9,
            "fp": 0.04999999999999999,
            "fn": 0.04999999999999999,
            "type": "punctuation",
            "original_text": "view",
            "corrected_text": "view,",
            "observed_line_number": 17,
            "line_diff": 1,
            "line_number_penalty": 0.1,
            "judgement": "Edit Type Accuracy: The predicted type is \"punctuation,\" which exactly matches the ground truth.\nText Content Accuracy: Both ground truth and prediction change \"view\" to \"view,\" by adding a comma after the word. This captures the core intended correction with identical original and corrected text. Line number differences are ignored as instructed."
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "days",
            "corrected_text": "days.",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 35,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "THE house in the city preserved its heaviness through all these",
            "corrected_text": "to THE house in the city preserved its heaviness through all these",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "them",
            "corrected_text": "them;",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "it",
            "corrected_text": "it,",
            "observed_line_number": 16,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "stand-still",
            "corrected_text": "stand-still;",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence;",
            "observed_line_number": 19,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "liege",
            "corrected_text": "liege,",
            "observed_line_number": 26,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Chapter XXIX",
            "corrected_text": "Chapter XXIX.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "DREAMING",
            "corrected_text": "DREAMING.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of",
            "corrected_text": "to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence",
            "corrected_text": "existence,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "capitalization",
            "original_text": "city",
            "corrected_text": "City",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "them,",
            "corrected_text": "them;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 8,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "it,",
            "corrected_text": "it;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 9,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "stand-still,",
            "corrected_text": "stand-still;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 10,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "existence,",
            "corrected_text": "existence;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 11,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "liege-lord",
            "corrected_text": "liege lord",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "012"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:13.118291",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:10:10.935114",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "church bells",
            "corrected_text": "church bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "wine bottles",
            "corrected_text": "wine-bottles",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "got through",
            "corrected_text": "got, through",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "iron bars fashioned",
            "corrected_text": "iron bars, fashioned",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating where",
            "corrected_text": "grating, where",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside and",
            "corrected_text": "outside; and",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact in",
            "corrected_text": "intact, in",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian ocean",
            "corrected_text": "Indian Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fed looking",
            "corrected_text": "fed, looking",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars that",
            "corrected_text": "bars, that",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Vecchia, so",
            "corrected_text": "Vecchia. So",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "driest of snorts",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 16,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 17,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:18.119072",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:11:38.871884",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "bubbling out of him",
            "corrected_text": "bubbling out of him",
            "observed_line_number": 9,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "of the dryest",
            "corrected_text": "driest of",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "now",
            "corrected_text": "",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:27.426345",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:27:12.816731",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "dryest",
            "corrected_text": "driest",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "italicize",
            "original_text": "benevolence bubbling out of him,",
            "corrected_text": "benevolence bubbling out of him,",
            "observed_line_number": 8,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "dryest snorts",
            "corrected_text": "dryest of snorts",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "Clennam:",
            "corrected_text": "Clennam;",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "that-boiling",
            "corrected_text": "that\u2014boiling",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "twenty;",
            "corrected_text": "twenty:",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "italicize",
            "original_text": "him",
            "corrected_text": "him",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 4,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "now I",
            "corrected_text": "now, I",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 5,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "authorize",
            "corrected_text": "authorise",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 6,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "you now to",
            "corrected_text": "you, now, to",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 7,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "of the dryest snorts.",
            "corrected_text": "of the driest of snorts.",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "013"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:23.047549",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T12:09:44.733913",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bells",
            "corrected_text": "bells,",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "replacement",
            "original_text": "go",
            "corrected_text": "got,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars",
            "corrected_text": "bars,",
            "observed_line_number": 14,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "grating",
            "corrected_text": "grating,",
            "observed_line_number": 17,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "outside",
            "corrected_text": "outside;",
            "observed_line_number": 29,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "intact",
            "corrected_text": "intact,",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "indian",
            "corrected_text": "Indian",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 7,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "ocean",
            "corrected_text": "Ocean",
            "observed_line_number": 31,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 8,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "fed",
            "corrected_text": "fed;",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 9,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bars",
            "corrected_text": "bars,",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 10,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes",
            "corrected_text": "eyes,",
            "observed_line_number": 4,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 11,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white",
            "corrected_text": "white,",
            "observed_line_number": 10,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 12,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 28,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 13,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 32,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 14,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Vecchia",
            "corrected_text": "Vecchia.",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 15,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "So",
            "corrected_text": "So",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:26.922520",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T13:11:58.464822",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "eyes by",
            "corrected_text": "eyes, by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia, So",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "deletion",
            "original_text": "bedroom",
            "corrected_text": "bed",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      },
      {
        "model_name": "or_step_3_7_flash",
        "date": "2026-07-23T15:52:28.537064",
        "annotator": "Step 3.7 Flash",
        "annotation_date": "2026-07-23T14:27:46.935374",
        "details": [
          {
            "observed_edit_num": 0,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "bedroom",
            "corrected_text": "bed-room",
            "observed_line_number": 2,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 1,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "insertion",
            "original_text": "eyes, by",
            "corrected_text": "eyes, and by",
            "observed_line_number": 5,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 2,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "For the rest",
            "corrected_text": "For the rest,",
            "observed_line_number": 6,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 3,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "white but",
            "corrected_text": "white, but",
            "observed_line_number": 11,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 4,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "capitalization",
            "original_text": "Harbour",
            "corrected_text": "Harbour",
            "observed_line_number": 30,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 5,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "terrace gardens",
            "corrected_text": "terrace-gardens",
            "observed_line_number": 34,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": 6,
            "expected_edit_num": null,
            "tp": 0.0,
            "fp": 1.0,
            "fn": 0.0,
            "type": "punctuation",
            "original_text": "Civita Vecchia, So",
            "corrected_text": "Civita Vecchia. So",
            "observed_line_number": 36,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False positive: no matching ground truth edit found"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 0,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "replacement",
            "original_text": "bed-room",
            "corrected_text": "bed room",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 1,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "For Mr. Pancks",
            "corrected_text": "For, Mr. Pancks",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 2,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "punctuation",
            "original_text": "quickly that",
            "corrected_text": "quickly, that",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          },
          {
            "observed_edit_num": null,
            "expected_edit_num": 3,
            "tp": 0.0,
            "fp": 0.0,
            "fn": 1.0,
            "type": "insertion",
            "original_text": "me,",
            "corrected_text": "me a,",
            "observed_line_number": null,
            "line_diff": null,
            "line_number_penalty": 0.0,
            "judgement": "False negative: ground truth edit not found in prediction"
          }
        ],
        "file_id": "014"
      }
    ],
    "vendor": "StepFun",
    "release_date": "2026-05-28",
    "release_source": "https://openrouter.ai/stepfun/step-3.7-flash",
    "release_notes": "Release date taken from the OpenRouter listing."
  }
]